PHP 在Apache 上跑多個版本,以PHP 5.6與PHP 7.1為例

PHP 在Apache上或者應該說在一台伺服器上通常只會有一個版本,但是有時可能會遇到像是不同的專案需要不同版本,但是卻跑在同一台機器上

這時候就需要多個版本的PHP 支援了

然而這件事情在Windows IIS上很容易的可以用PHP Manager套件直接對不同的站體設定不同版本的PHP

在Linux 上確實沒有這麼容易可以用個小設定就解決,但是也不難就是了,這次要介紹的是php-fpm 的做法

首先,如果你的PHP 版本太舊會建議先升到5.6版,如果不知道怎麼升級請參考上一篇文章 :PHP 版本更新, Apache上如何設定

參考文件 :Run multiple PHP version on the same server using php-fpm and xdebug on Ubuntu 16.04

 

步驟一 :將要使用的PHP 版本以及相關套件安裝完成

 

這個範例跟上一篇要安裝PHP 5.6時相同,需要先將軟體源ppa:ondrej/php 加入,最後一行指令安裝了很多東西,如果你已經是PHP 5.6

或者透過上一篇的方式升級到PHP 5.6的朋友安裝的時候可以跳過PHP 5.6版的內容,大概會像以下這樣

但是 php 5.6-fpm還是必須要的!

接下來必須啟用兩個模組

基本上安裝到這邊結束,接下來就是設定Apache的部分了

 

步驟二 :設定Apache 虛擬站台config

原作者說,需要在每個站台的config 加入下面這段設定值,但是經過測試,有會站台因為這段設定值而無法啟動

所以如果加了這段設定值後無法啟用站台請移除他

接著,在每個站台的config 加入設定值,指定用哪個版本的PHP來執行

範例是指定用PHP 5.6來執行所以指定為php 56-fcgi-www

如果要用PHP 7.1 那麼請指定為php 71-fcgi-www

接著重新啟動apache 就可以了

 

最後來看一下結果是不是對的

首先我們將Config 中的setHandler 設定為php 56-fcgi-www,透過phpinfo() 來看一下實際跑的版本是什麼

php-fpm php 5.6

確實沒有錯,接著變更成7.1

php-fpm php 7.1

也沒有問題,那麼就大功告成了!

 

首頁 » 技術文章 » 架站 » PHP 在Apache 上跑多個版本,以PHP 5.6與PHP 7.1為例