2015-12-16 270 views
4

初始狀態:安裝多個PHP版本

我有一個Ubuntu 12.04服務器託管3個網站(與Apache 2.2.22)

如何安裝不同的PHP版本,只有一個的網站? (其他2應該保持原樣)

當前的PHP版本:PHP 5.3.10 期望中的PHP版本:PHP 5.6.16

我做了什麼/理解到現在爲止:

我已經嘗試PHPBrew: http://phpbrew.github.io/phpbrew/

我設法爲命令行安裝PHP 5.6.16(使用PHPBrew),但Apache仍然使用PHP 5.3.10。

我明白,我應該最終得到一個* .so文件,我需要放置在/etc/apache2/httpd.conf文件中。 (此文件目前爲空) (通過LoadModule ...)

但:我沒有任何* .so文件。 我安裝PHPBrew這樣的:

phpbrew安裝5.6.16 +默認+ MYSQL + mcrypt的

我想我應該補充+ apxs2 =的/ usr/bin中/ apxs2但如果我這樣做,我得到的錯誤「例外:apxs二進制文件不可執行:/ usr/bin/apxs2」。

我該如何解決這個問題?

或者還有更好的方法在一臺服務器上運行不同的PHP版本嗎? 什麼是最好的方法?

+1

爲了解決「apxs二進制文件不可執行」,我設法執行sudo apt-get install apache2-dev。我現在有php5.6.16.so文件(在用+ apxs2 =/usr/bin/apxs2重新安裝之後)。在etc/apache2/mods-available/php5.load是新的php5.6.16.so文件,並且在apache2重新啓動後它就起作用了。剩下的最後一個問題是:是否可以爲每個虛擬主機創建一個php5.load文件? – Biberfan

+0

當我嘗試,我得到這樣一個:以下信息可能有助於解決問題: 下列軟件包有不能滿足的依賴關係: 的Apache2-dev的:依賴:libapr1-dev的,但它是不會被安裝 依賴: libaprutil1-dev,但它不會被安裝 E:無法更正問題,您已經保存了損壞的軟件包。 – kwoxer

+0

似乎這個軟件包不再可用。 – kwoxer

回答

1

仔細檢查.so文件,它們應該是`/ usr/lib中/的Apache2 /模塊/``

那麼你應該修改你的/etc/apache2/mods-enabled/php5.load並指定.so文件對應於您的安裝,你的情況:

LoadModule php5_module /usr/lib/apache2/modules/libphp5.6.16.so 

運行在同一個盒子多個PHP版本的另一種解決方案是使用泊塢窗,看到我的答案在另一個線程:Multiple PHP versions on the same box

無通過這個解決方案,不同的PHP版本將在不同的端口上可用。