您的位置:首页 > 运维架构 > Nginx

OS X中多PHP环境与Nginx配置问题

2016-03-02 14:53 716 查看
系统环境:OS X El Capitan

Nginx版本:1.8.0(brew安装)

起因是由于Mac上自带的PHP环境没有mcrypt的拓展,于是就用brew去install了一个
brew install php55-mcrypt


执行了之后,的确是把拓展下下来了,然后在系统的php.ini里加入
extension = \usr\local\Caller\php55-mcrypt\5.5.32\mcrypt.so;

但是brew也把PHP 5.5.32和一些别的相关拓展也给下载安装了,而且讲/usr/local/bin/php替换成了这个版本的php,但是/usr/bin/php还是系统默认的php5.5.30,这个时候在终端查询php -v显示的是新安装的版本,但是当前在用的PHP还是系统自带的。系统的PATH会先使用/usr/local/bin里的命令,所以直接执行php会使用最新的PHP版本。



这里的原因就是Nginx配置监听的是9000端口,这个端口是被之前PHP环境的php-fpm所占用的,所以Nginx是跟先前版本的PHP连接的。解决问题的办法就是为新安装的php-fpm设置监听到到9001端口,然后启用这个php-fpm即可。
系统自带的的php以及php-fpm的配置文件都在/etc下,而brew安装的都在/usr/local/etc下
找到/usr/lcoal/etc/php/5.5/php-fpm.conf
listen = 127.0.0.1:9001
找到/usr/local/etc/nginx/nginx.conf
fastcgi_pass   127.0.0.1:9001; 

最后要启动新的php-fpm,记住先要中断之前的进程
ps -ef | grep php-fpm
sudo kill掉找到的进程

启动9001的php-fpm
sudo 
/usr/local/Cellar/php55/5.5.32/sbin/php-fpm -D
重启Nginx
sudo nginx -s reload
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: