在网上找了一堆资料,也没有找到合适的,大多介绍的是nginx的。对nginx也不熟悉,现在项目是放在apache的,所以想弄个 5.5 5.6 7.0的PHP版本到服务器上去,可以切换PHP版本!
闭关修行中......
可以用docker,php-fpm + nginx 很爽,你会爱上的
使用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端口。
PHP的多版本环境管理phpbrewphp-version
lnmp.org 1.4版本支持
说一下切换环境的原理,你可以自己实现一个
比如你的php安装在 /alidata/server/下, 有文件php5.3, php5.5,php5.6,php7.0
/alidata/server/
php5.3
php5.5
php5.6
php7.0
这时候在/alidata/server/下建立一个软链接 ln -s /alidata/server/php7.0 php
ln -s /alidata/server/php7.0 php
环境变量配置成/alidata/server/php/bin
/alidata/server/php/bin
如果要切换版本,只要吧原来的软链接删除,重新建立一个对应版本的软链接就可以实现切换版本
首先:1.停止当前版本PHP并分别启动脚本service php-fpm stop #需要停止phpmv /etc/init.d/php-fpm{,_bk} #备份当前PHP版本的启动脚本2.例如:php5.5安装路径是/usr/local/php,那么安装其它版本的PHP5.6=/usr/local/php77.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-fpmchkconfig --add php-fpmchkconfig php7-fpm onchkconfig php-fpm on
update-rc.d php7-fpm defaultsupdate-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.5service 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同样修改
可以用PHPstudy这个集成环境,安装简单,版本也可以容易切换
可以用docker,php-fpm + nginx 很爽,你会爱上的
使用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端口。
PHP的多版本环境管理phpbrew
php-version
lnmp.org 1.4版本支持
说一下切换环境的原理,你可以自己实现一个
比如你的php安装在
/alidata/server/
下, 有文件php5.3
,php5.5
,php5.6
,php7.0
这时候在
/alidata/server/
下建立一个软链接ln -s /alidata/server/php7.0 php
环境变量配置成
/alidata/server/php/bin
如果要切换版本,只要吧原来的软链接删除,重新建立一个对应版本的软链接就可以实现切换版本
首先:
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开机自启动:
CentOS:
chkconfig --add php7-fpm
chkconfig --add php-fpm
chkconfig php7-fpm on
chkconfig php-fpm on
Ubuntu/Debian:
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同样修改
可以用PHPstudy这个集成环境,安装简单,版本也可以容易切换