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

續:
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.gz
cd 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-pear

make && make install

以上都順利安裝完成
配置php-fpm

拷貝配置文件,在安裝目錄裏
cd /usr/local/php56
cp 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.so
LoadModule 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版本

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章