OneinStack多版本PHP共存

大雄45發表於2022-07-29

基於《OneinStack》一鍵PHP/JAVA安裝工具中lnmp模式,很多使用者希望一個網站執行在php5.4,另一個網站執行在php7,甚至更多版本的php,那麼一臺伺服器上同時支援多個PHP版本應該如何做呢?

1、安裝OneinStack

選擇lnmp模式,預設安裝php5.4,安裝步驟參考:
選項如下:

Install Nginx
Do not install Apache
Do not install Tomcat
Install MySQL-5.6
Install php-5.4
....
2、 安裝php7
service php-fpm stop                      #後面需要再安裝php,需要停止php
mv /etc/init.d/php-fpm{,_bk}              #後面需要再安裝php會覆蓋,備份啟動指令碼

預設php5.4安裝路徑是/usr/local/php,如果再次安裝會提示php已經安裝,因此必須修改options.conf的php安裝目錄,將php7安裝路徑設定為/usr/local/php7,修改/root/oneinstack/options.conf:

php_install_dir=/usr/local/php7

再次執行./install.sh,選擇Install php-7,其餘均選擇n

3、修改php配置檔案
service 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.4啟動指令碼

設定php5.4、php7開機自啟動:

:
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.4、php7監聽sock衝突,修改php7的listen,更改配置檔案/usr/local/php7/etc/php-fpm.conf:

listen = /dev/shm/php-cgi.sock                  #修改前
listen = /dev/shm/php7-cgi.sock                 #修改後

手工啟動php5.4、php7:

service php-fpm start  #啟動php5.4
service php7-fpm start #啟動php7

如下圖:
OneinStack多版本PHP共存OneinStack多版本PHP共存

4、 修改nginx虛擬主機配置檔案

./vhost.sh繫結域名,預設是執行在php5.4,如需要將網站執行在php7下,需要修改/usr/local/nginx/conf/vhost/(改成自己繫結域名):

fastcgi_pass unix:/dev/shm/php-cgi.sock;                #修改前
fastcgi_pass unix:/dev/shm/php7-cgi.sock;               #修改後

重新載入nginx,使配置生效:

service nginx reload

原文來自:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2908266/,如需轉載,請註明出處,否則將追究法律責任。

相關文章