在网上找了一堆资料,也没有找到合适的,大多介绍的是nginx的。对nginx也不熟悉,现在项目是放在apache的,所以想弄个 5.5 5.6 7.0的PHP版本到服务器上去,可以切换PHP版本!
怪我咯2017-04-11 09:06:24
使用httpd+php-fpm方式运行。让httpd把php请求转发给php-fpm。
比如:
php 5.x的php-fpm运行在127.0.0.1:9000端口。
php 7.x的php-fpn运行在127.0.0.1:9001端口。
天蓬老师2017-04-11 09:06:24
说一下切换环境的原理,你可以自己实现一个
比如你的php安装在 /alidata/server/
下, 有文件php5.3
, php5.5
,php5.6
,php7.0
这时候在/alidata/server/
下建立一个软链接 ln -s /alidata/server/php7.0 php
环境变量配置成/alidata/server/php/bin
如果要切换版本,只要吧原来的软链接删除,重新建立一个对应版本的软链接就可以实现切换版本
阿神2017-04-11 09:06:24
首先:
1.停止当前版本PHP并分别启动脚本
service php-fpm stop #需要停止php
mv /etc/init.d/php-fpm{,_bk} #备份当前PHP版本的启动脚本
2.例如:
php5.5安装路径是/usr/local/php,
那么安装其它版本的PHP
5.6=/usr/local/php7
7.0=/usr/local/php7
安装php7后,修改php配置文件
php-fpm stop #停止php7启动脚本
mv /etc/init.d/php-fpm /etc/init.d/php7-fpm #重命名php7启动脚本
mv /etc/init.d/php-fpm_bk /etc/init.d/php-fpm #恢复php5.5启动脚本
设置php5.5、php7开机自启动:
chkconfig --add php7-fpm
chkconfig --add php-fpm
chkconfig php7-fpm on
chkconfig php-fpm on
update-rc.d php7-fpm defaults
update-rc.d php-fpm defaults
防止php5.5、php7监听sock冲突,修改php7的listen,更改配置文件/usr/local/php7/etc/php-fpm.conf:
listen = /dev/shm/php-cgi.sock
listen = /dev/shm/php7-cgi.sock
手工启动php5.5、php7:
service php-fpm start #启动php5.5
service php7-fpm start #启动php7
修改nginx虚拟主机配置文件
原来的网站默认是运行在php5.5,如需要将网站运行在php7下,需要修改/usr/local/nginx/conf/vhost/www.baidu.com.conf(www.baidu.com改成自己绑定域名):
fastcgi_pass unix:/dev/shm/php-cgi.sock;
fastcgi_pass unix:/dev/shm/php7-cgi.sock;
重新加载nginx,使配置生效:
service nginx reload
注明:apache同样修改