首页 > 刚刚装了php7 nginx下有多个php版本,怎么选择使用哪一个?

刚刚装了php7 nginx下有多个php版本,怎么选择使用哪一个?

刚刚装了php7 我是单独新建的一个/usr/local/php7这样的

我把/etc/init.d/php-fpm stop

然后开启 /etc/init.d/php7-fpm start

都ok了 我新建一个站点 直接报502错误 感觉 nginx默认找的是php-fpm 而我已经把php-fpm 停掉了。

不知道咋个切换 有没有朋友知道 谢谢


php.ini加载没有问题?你是怎么设置php.ini的?


1:
下载地址:http://php.net/archive/2015.php#id2015-01-11-6

2:
./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysqli --with-pdo-mysql --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --disable-fileinfo --enable-maintainer-zts
3:
​make ZEND_EXTRA_LIBS='-liconv' && make install

4:
cp php.ini-production /usr/local/php7/etc/php.ini
cp sapi/fpm/init.d.php-fpm /etc/init.d/php7-fpm
chmod +x /etc/init.d/php7-fpm
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
​5:
由于我之前有一个5.6的版本 php-fpm.conf 内容如下:
[global]
pid = /usr/local/php/var/run/php-fpm.pid
error_log = /usr/local/php/var/log/php-fpm.log
log_level = notice

[www]
listen = /tmp/php-cgi.sock
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = dynamic
pm.max_children = 10
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 6
request_terminate_timeout = 100
request_slowlog_timeout = 0
slowlog = var/log/slow.log

我直接复制到 /usr/local/php7/etc/里面 然后修改上面蓝色部分 为php7的路径

6:直接/etc/init.d/php-fpm stop 然后 /etc/init.d/php7-fpm start

直接就可以这样切换了。

你也可以修改php-fpm.conf的端口号的方式 运行php7,但是网上说没有sock文件方式的效率高。


1.给不同的php-fpm设置不同的端口号,fastcgi_pass处用地址加端口号作为参数
2.fastcgi_pass处直接用socket连接,只需更改路径即可


因为nginx默认监听的是127.0.0.1:9000端口,默认的9000端口已经被之前的php给占用了,请按下面步骤配置即可:
1.cd /usr/local/php7/etc/php-fpm.d/www.conf,找到listen 127.0.0.1:9000,然后把9000修改成自定义的,我本人修改为9001,然后保存退出
2.cd /usr/local/nginx/conf/nginx.conf,找到fastcgi_pass这一行,修改为:fastcgi_pass 127.0.0.1:9001;
3.关闭低版本的php-fpm /etc/init.d/php-fpm stop
4.开启php7的php-fpm /etc/init.d/php7-fpm start
5.重启nginx service nginx restart

到这里就大功告成了,希望能帮助你!配上php7的phpinfo界面,让我们一睹

【热门文章】
【热门文章】