oneinstack 多个php版本共存(不同网站用不同php版本)
为了不让一个ecs的性能浪费,所以要在一个ecs中放好几个网站,但是之前默认安装的是7.2版本,第二个网站只能用5.6以下的,所以要弄一个php多版本共存的环境
因为阿里云自带的oneinstack 镜像中已经安装了php5.3-7.4的版本包,所以在这里就不提安装的事情了,有需求的可以去搜索 oneinstack 安装多个版本php的教程。
我的镜像nginx版本为1.16.1,老版本的方法会有所不同
oneinstack里php的默认安装路径是/usr/local/php,脚本里是通过超链接的形式来切换php版本的,所以需要将不同版本的服务单独配置
1.配置 php-fpm 服务
因为 PHP默认的服务文件为 php-fpm.service 所以先将php-fpm.service复制两份为php56-fpm.service和php72-fpm.service
service php-fpm stop #停止php启动脚本 mv /usr/lib/systemd/system/php-fpm.service /usr/lib/systemd/system/php56-fpm.service #重命名php5.6启动脚本 mv /usr/lib/systemd/system/php-fpm.service /usr/lib/systemd/system/php72-fpm.service #重命名php7.2启动脚本
这里要修改 php56-fpm.service和php72-fpm.service
vim /usr/lib/systemd/system/php56-fpm.service
将:
PIDFile=/usr/local/php/var/run/php-fpm.pid
ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php/etc/php-fpm.conf
改成:
PIDFile=/usr/local/php56/var/run/php-fpm.pid
ExecStart=/usr/local/php56/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php56/etc/php-fpm.conf
同理
vim /usr/lib/systemd/system/php72-fpm.service
将:
PIDFile=/usr/local/php/var/run/php-fpm.pid
ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php/etc/php-fpm.conf
改成:
PIDFile=/usr/local/php72/var/run/php-fpm.pid
ExecStart=/usr/local/php72/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php72/etc/php-fpm.conf
2.为防止php5.6、php7.2监听sock冲突,修改php的listen配置文件
例如
vim /usr/local/php72/etc/php-fpm.conf
将listen = /dev/shm/php-cgi.sock 修改为
listen = /dev/shm/php72-cgi.sock
同理
vim /usr/local/php56/etc/php-fpm.conf
将listen = /dev/shm/php-cgi.sock 修改为
listen = /dev/shm/php56-cgi.sock
3.修改nginx配置文件,例如
vim /usr/local/nginx/conf/vhosts/www.nginx.com.conf(www.nginx.com改成自己绑定域名):
将location php 中的
fastcgi_pass unix:/dev/shm/php-cgi.sock;
更改为
fastcgi_pass unix:/dev/shm/php72-cgi.sock;
然后保存,
/usr/local/nginx/sbin/nginx -s reload
4.设置php7.2、php5.6开机自启动:
chkconfig php56-fpm on chkconfig php72-fpm on
5.重启php-fpm服务
service php56-fpm start service php72-fpm start
6.重新加载nginx,使配置生效:
service nginx reload
7.附:查看php运行状态
ps -ef|grep php-fpm
- ubuntu php多版本共存切换,为每个站点设置不同的php版本
- OneinStack多版本PHP共存
- oneinstack一键包Nginx php多版本共存配置全过程
- OneinStack PHP多版本共存教程
- OneinStack PHP多版本共存教程
- [置顶] PHPWAMP内置IIS管理器一键搭建PHP网站,支持无限个不同PHP版本同时运行
- OneinStack PHP多版本共存教程
- IIS中多个版本php共存的方法,IIS如何快速搭建PHP网站,多个php实现共存的神器!
- PHPWAMP内置IIS管理器一键搭建PHP网站,支持无限个不同PHP版本同时运行 推荐
- Mac下通过 brew 安装不同版本的php
- 不同版本jdk以及tomcat共存的问题
- PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
- Apache多虚拟主机多版本PHP(5.2+5.3+5.4)共存运行配置全过程
- linux下nginx多版本php共存
- Mac下通过 brew 安装不同版本的php
- 不同版本php的fastcgi模式支持TP的URL重写
- Linux 下多php 版本共存安装
- PHP不同版本之特性
- PHP现在推出5.3.0版本了,不过下载的时候有几个不同版本选择。那就是VC6 X86和VC9 X86。
- Apache使用fcgid模块配置多个PHP版本共存