apache - 请教 centos php 多版本安装共存切换。
阿神
阿神 2017-04-11 09:04:24
0
7
1091

在网上找了一堆资料,也没有找到合适的,大多介绍的是nginx的。对nginx也不熟悉,现在项目是放在apache的,所以想弄个 5.5 5.6 7.0的PHP版本到服务器上去,可以切换PHP版本!

阿神
阿神

闭关修行中......

reply all(7)
小葫芦

可以用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版本支持

Peter_Zhu

说一下切换环境的原理,你可以自己实现一个

比如你的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

  1. 安装php7后,修改php配置文件

  2. 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

  1. 修改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这个集成环境,安装简单,版本也可以容易切换

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template