在apache連線多php的時候遇到了問題,怎麼切換多個php版本?

時間 2021-07-10 12:55:44

1樓:王其杉

我本人的開發環境是 centos的盒子不過以前也是直接在osx上編譯了很多版本的PHP 其實原理是一樣的,和mysql不同版本共存的原理是相同的。

比如常用的版本是 5.6 那我會把這個PHP5.6的埠設定為9000 5.4的設定為9054 7.2的設定為9072

這樣不同版本的PHP 就監聽不同的埠就可以了,阿帕奇或者nginx 不同的站點就配置不同的埠號唄,多版本很常見吧?起碼我伺服器上的專案,從5.4 到 7.

2的都有,mysql5.4 5.6 5.

7也都是共存的。

2樓:俊傑

我也是本地有多個版本,我的本地php是在OSX系統中使用homebrew安裝的,我有兩個版本:

php5.4和php5.6

我預設之前的版本是php5.4,如果要從shell和apache同時遷移到php5.6可以這樣:

1.首先你要通過brew安裝php5.6,很簡單:

brew install php56

即可(當然,你要先unlink掉你的老版本php5.4)

2.安裝好php5.6之後,你會發現本地的shell中php版本已經change,但是apache預設phpinfo列印出來的版本仍然是php5.

4,檢視你的apache配置檔案,我本地是:

裡面會有支援的libphp5.so的路徑,我這裡是:

libexec/apache2/libphp5.so

這個目錄的實際位置是:

/usr/libexec/apache2/libphp5.so

在你通過brew安裝php56的時候,已經生成了乙個新的libphp5.so版本,在這裡:

/usr/local/Cellar/php56/5.6.17/libexec/apache2/libphp5.so

而我直接把原來的libphp5.so重新命名之後,建立了乙個軟鏈到/usr/local/Cellar/php56/5.6.

17/libexec/apache2/libphp5.so就好了:-)

現在再重啟apache,重新整理一下phpinfo看一下,相信一定切換到新版本了。

怎樣通俗的講解 PHP 和 Apache 的關係?

你就把伺服器看成一間餐館,apache是店面的傳菜員,php是廚房的廚師。有些飲料之類的 靜態資源,如 HTML CSS JS Images等 不用經過廚師,直接由傳菜員傳遞給顧客 Client 如果需要廚師烹飪的菜式 例如 PHP等 就需要先等廚師把原始食材 php 烹飪完變成可以吃用的飯菜 靜態...

為什麼php在向mysql提交資料時變數外要用單引號?

擼程式碼的鄉下人 s ss mysql query INSERT INTO Comment comment,date,username,signature VALUES s NOW 111 signature 等於 s ss s1 INSERT INTO Comment comment,date,u...

tcp中兩台裝置在同時建立連線時,為什麼需兩次傳送自己的SYN?

靈劍 這個應該不是重傳,而是一種特殊的狀態時序,一般建立連線時分主動被動兩種情況,這是第三種,即允許兩個埠同時發起連線,兩邊都是主動。從時間序列上說,兩邊發出SYN前都沒有收到對方的SYN,這種情況下兩邊都做三次握手,進入連線完成序列。實際情況下應該不太可能出現這種情況,因為一般會選擇自動分配的源埠...