PHP多版本共存:php5.6与php5.5共存

来源:互联网 发布:四川广电网络缴费 编辑:程序博客网 时间:2024/05/19 21:18

续:
php多版本共存,需要使用php-fpm来运行php方便,这样更方便配置和管理
准备工作:
创建PHP5.6的相关目录,不要与已安装的php5.5的目录相同

mkdir /usr/local/php56  安装目录 mkdir /etc/php56      配置文件存放目录

源码包下载:

wget http://cn2.php.net/distributions/php-5.6.30.tar.gz

解压,编译安装php

tar xvf php-5.6.30.tar.gzcd php-5.6.30所有配置参数与上一个php5.5的完全相同,只有安装的目录和配置文件目录不同。./configure \--prefix=/usr/local/php56 \--with-config-file-path=/etc/php56 \--with-apxs2=/usr/local/apache/bin/apxs \--enable-inline-optimization \--disable-debug \--disable-rpath \--enable-shared \--enable-opcache \--enable-fpm \--with-fpm-user=www \--with-fpm-group=www \--with-mysql=mysqlnd \--with-mysqli=mysqlnd \--with-pdo-mysql=mysqlnd \--with-gettext \--enable-mbstring \--with-iconv \--with-mhash \--with-openssl \--enable-bcmath \--enable-soap \--with-libxml-dir \--enable-pcntl \--enable-shmop \--enable-sysvmsg \--enable-sysvsem \--enable-sysvshm \--enable-sockets \--with-curl \--with-zlib \--enable-zip \--with-bz2 \--with-readline \--without-sqlite3 \--without-pdo-sqlite \--with-pearmake && make install

以上都顺利安装完成
配置php-fpm

拷贝配置文件,在安装目录里cd /usr/local/php56cp etc/php-fpm.conf.default /usr/local/php56/etc/php-fpm.conf 修改配置文件vim php-fpm.conf将listen = 127.0.0.1:9000 改为listen = 127.0.0.1:9056与php5.59000端口区别开,防止端口冲突拷贝服务脚本,在源码包里# cp sapi/fpm/init.d.php-fpm /etc/init.d/php56-fpm# chmod +x /etc/init.d/php56-fpm

启动php-fpm

 service php-fpm start 监听端口为:9056

nginx 切换php版本只需修改nginx.conf即可
php5.5 php-fpm 监听端口为:9000
php5.6 php-fpm监听端口为:9056

vim /etc/nginx/nginx.conf将fastcgi_pass   127.0.0.1:9000;修改为  fastcgi_pass   127.0.0.1:9056;  重启nginx,打开phpinfo

这里写图片描述
已经成功切换为php5.6

apache切换PHP版本:
由于之前是用php mod来运行php,php作为apache的一个模块来运行。如果想要使用多版本切换,就不能再用php mod来运行了,必须要用php-fpm运行,然后和Apache关联。

修改配置文件

vim /etc/httpd/httpd.conf

首先注释掉以下内容(这是用php mod与PHP关联的)

#LoadModule php5_module modules/libphp5.so#<FilesMatch \.php$>    #SetHandler application/x-httpd-php#</FilesMatch>

然后去掉以下两行的注释,开启代理功能

LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

再添加下面内容,使用php-fpm与PHP关联

<FilesMatch \.php$>         SetHandler "proxy:fcgi://127.0.0.1:9056"</FilesMatch>

重启apache服务,打开phpinfo
这里写图片描述
成功切换为php5.6
致此全部完成,nginx和apache全都可以正常切换PHP版本

0 0
原创粉丝点击