如果你手上有两套php程序,一套是基于php2.3,一套是基于php3.0的,两套程序要同时上线,此时你可以安装多个apache,但是存在端口冲突问题,如果使用不同端口,域名就要带端口号,那么如何实现多版本PHP共存?本篇文章将使用OneinStack为大家分享一下多版本PHP共存具体方法。
1、安装OneinStack
选择lnmp模式,默认安装php5.4,安装步骤参考:http://oneinstack.com/install/ 选项如下:
Install Nginx
Do not install Apache
Do not install Tomcat
Install MySQL-5.6
Install php-5.4
....
2、 安装php7
service php-fpm stop #后面需要再安装php,需要停止php
mv /etc/init.d/php-fpm{,_bk} #后面需要再安装php会覆盖,备份启动脚本
默认php5.4安装路径是/usr/local/php,如果再次安装会提示php已经安装,因此必须修改options.conf的php安装目录,将php7安装路径设置为/usr/local/php7,修改/root/oneinstack/options.conf:
php_install_dir=/usr/local/php7
再次执行./install.sh,选择Install php-7,其余均选择n
3、修改php配置文件
service 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.4启动脚本
设置php5.4、php7开机自启动:
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.4、php7监听sock冲突,修改php7的listen,更改配置文件/usr/local/php7/etc/php-fpm.conf:
listen = /dev/shm/php-cgi.sock #修改前
listen = /dev/shm/php7-cgi.sock #修改后
手工启动php5.4、php7:
service php-fpm start #启动php5.4
service php7-fpm start #启动php7
如下图:
4、 修改nginx虚拟主机配置文件
./vhost.sh绑定域名,默认是运行在php5.4,如需要将网站运行在php7下,需要修改/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/php7-cgi.sock; #修改后
重新加载nginx,使配置生效:
service nginx reload
以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !