OS X中多PHP環境與Nginx配置問題

系統環境: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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章