OneinStack PHP多版本共存教程

教程基于《OneinStack》一键PHP/JAVA安装工具中lnmp模式,很用户希望一个网站运行在php5.4,另一个网站运行在php7.0下,一台服务器上同时支持多个PHP版本,步骤如下:

1. 安装OneinStack

选择lnmp模式,默认安装php7.0,安装步骤参考:http://oneinstack.com/auto/

选项如下:

  1. Install Nginx
  2. Do not install Apache
  3. Do not install Tomcat
  4. Install MySQL-5.7
  5. Install php-7.0
  6. ….

2. 安装php5.4

2018-12-15之后,php-fpm切换至systemctl管理服务,如下:

  1. systemctl stop php-fpm #后面需要再安装php5.4,需要停止php7.0
  2. mv /lib/systemd/system/php-fpm.service{,_bk} #后面需要再安装php5.4会覆盖,备份启动脚本

2018-12-15之前,php-fpm使用老的sysV脚本,如下:

  1. service php-fpm stop #后面需要再安装php5.4,需要停止php7.0
  2. mv /etc/init.d/php-fpm{,_bk} #后面需要再安装php5.4会覆盖,备份启动脚本

默认php7.0安装路径是/usr/local/php,如果再次安装会提示php已经安装,因此必须修改options.conf的php安装目录,将php5.4安装路径设置为/usr/local/php54,修改/root/oneinstack/options.conf:

  1. php_install_dir=/usr/local/php54

再次执行./install.sh –php_option 2,等待ing

3. 修改php配置文件

2018-12-15之后,php-fpm切换至systemctl管理服务,如下:

  1. service php-fpm stop #停止步骤二安装的php5.4启动脚本
  2. mv /lib/systemd/system/php-fpm.service /lib/systemd/system/php54-fpm.service  #重命名php5.4启动脚本
  3. mv /lib/systemd/system/php-fpm.service_bk /lib/systemd/system/php-fpm.service  #恢复php7.0启动脚本

设置php7.0、php5.4开机自启动:

  1. systemctl enable php-fpm
  2. systemctl enable php54-fpm

2018-12-15之前,php-fpm使用老的sysV脚本,如下:

  1. service php-fpm stop #停止步骤二安装的php5.4启动脚本
  2. mv /etc/init.d/php-fpm /etc/init.d/php54-fpm  #重命名php54启动脚本
  3. mv /etc/init.d/php-fpm_bk /etc/init.d/php-fpm  #恢复php7.0启动脚本

设置php7.0、php5.4开机自启动:

  1. # CentOS:
  2. chkconfig –add php-fpm
  3. chkconfig –add php54-fpm
  4. chkconfig php-fpm on
  5. chkconfig php54-fpm on
  6. # Ubuntu/Debian:
  7. update-rc.d php-fpm defaults
  8. update-rc.d php54-fpm defaults

防止php5.4、php7.0监听sock冲突,修改php5.4的listen,更改配置文件/usr/local/php54/etc/php-fpm.conf:

  1. listen = /dev/shm/php-cgi.sock
  2. #改成
  3. listen = /dev/shm/php54-cgi.sock

手工启动php7.0、php5.4:

  1. service php-fpm start  #启动php7.0
  2. service php54-fpm start #启动php5.4

如下图:

OneinStack PHP多版本共存教程

4. 修改nginx虚拟主机配置文件

./vhost.sh绑定域名,默认是运行在php7.0,如需要将网站运行在php5.4下,需要修改/usr/local/nginx/conf/vhost/www.oneinstack.com.conf(www.oneinstack.com改成自己绑定域名):

  1. fastcgi_pass unix:/dev/shm/php-cgi.sock;
  2. #改成
  3. fastcgi_pass unix:/dev/shm/php54-cgi.sock;

重新加载nginx,使配置生效:

  1. service nginx reload

Tue Feb 2 13:00:31 CST 2016


【AD】美国洛杉矶CN2 VPS/香港CN2 VPS/日本CN2 VPS推荐,延迟低、稳定性高、免费备份_搬瓦工vps

【AD】RackNerd 推出的 KVM VPS 特价优惠,在纽约、西雅图、圣何塞和阿什本每年仅需 12.88 美元!