教程基于《OneinStack》一键PHP/JAVA安装工具中lnmp模式,很用户希望一个网站运行在php5.6,另一个网站运行在php7.1下,一台服务器上同时支持多个PHP版本,步骤如下:
安装OneinStack
选择lnmp模式,默认安装php5.6,安装步骤参考:http://oneinstack.com/auto/
安装php7.1
systemctl stop php-fpm #后面需要再安装php7.1,需要停
止php5.6
mv /lib/systemd/system/php-fpm.service{,_bk} #后面
要再安装php7.1会覆盖,备份启动脚本
默认php5.6安装路径是/usr/local/php,如果再次安装会提示php
已经安装,因此必须修改options.conf的php安装目录,将php7.1
安装路径设置为/usr/local/php71,
修改/root/oneinstack/options.conf:
php_install_dir=/usr/local/php71
再次执行./install.sh --php_option 6,
等待ing
参数6对应的oneinstack中PHP的版本php7.1
修改php配置文件
php-fpm切换至systemctl管理服务,如下:
service php-fpm stop #停止步骤二安装的php7.1启动脚本
mv /lib/systemd/system/php-fpm.service /lib/systemd/system/php54-fpm.service #重命名php7.1启动脚本
mv /lib/systemd/system/php-fpm.service_bk /lib/systemd/system/php-fpm.service #恢复php5.6启动脚本
设置php7.0、php5.4开机自启动:
systemctl enable php-fpm
systemctl enable php54-fpm
防止php7.1、php5.6监听sock冲突,修改php7.1的listen,
更改配置文件/usr/local/php71/etc/php-fpm.conf:
isten = /dev/shm/php-cgi.sock
改成
listen = /dev/shm/php71-cgi.sock
手工启动php7.1、php5.6:
service php-fpm start #启动php7.1
service php56-fpm start #启动php5.6
修改nginx虚拟主机配置文件
./vhost.sh绑定域名,默认是运行在php5.6,如需要将网站运行在
php7.1下,需要修改
/usr/local/nginx/conf/vhost/www.oneinstack.com.conf
(www.oneinstack.com改成自己绑定域名):
fastcgi_pass unix:/dev/shm/php-cgi.sock;
改成
fastcgi_pass unix:/dev/shm/php71-cgi.sock;
重新加载nginx,使配置生效:service nginx reload
若要安装PHP对应扩展就要重新 ./vhost.sh 对应的
options.conf修改对应的php_install_dir=/usr/local/php
版本号如:安装php7.1的扩展就要修改
成php_install_dir=/usr/local/php71
原文:http://www.borentang.net/detail/96