2014-07-08 29 views
2

我已經使用MacPorts安裝了PHP 5.4,使用了當前PHP 5.3上的所有端口。 然後,我(愚蠢地)運行命令sudo port select --set php php54並收到Selecting 'php54' for 'php' succeeded. 'php54' is now active.使用MacPort切換PHP版本

但是,我無法運行我的任何當前PHP頁面,從Apache接收到'Forbidden'錯誤。我決定切換回5.3,並且只運行sudo port select --set php php5以接收Selecting 'php5' for 'php' failed: The specified version 'php5' is not valid.。我嘗試與php53一樣 - 並得到相同的信息。

爲了驗證什麼裝我跑port installed php*,並得到:

php5 @5.3.28_0+apache2+pear (active) php5-apc @3.1.9_1 (active) php5-curl @5.3.28_0 (active) php5-iconv @5.3.28_0 (active) php5-mbstring @5.3.28_0 (active) php5-mcrypt @5.3.28_0 (active) php5-memcache @2.2.7_0 (active) php5-mysql @5.3.28_0+mysqlnd (active) php5-openssl @5.3.28_0 (active) php5-xdebug @2.2.5_0 (active) php54 @5.4.30_0+libedit (active) php54-apache2handler @5.4.30_0 (active) php54-APC @3.1.13_0 (active) php54-curl @5.4.30_0 (active) php54-iconv @5.4.30_0 (active) php54-mbstring @5.4.30_0 (active) php54-mcrypt @5.4.30_0 (active) php54-memcache @2.2.7_0 (active) php54-mysql @5.4.30_0+mysqlnd (active) php54-openssl @5.4.30_0 (active) php54-xdebug @2.2.5_0 (active) php_select @1.0_0 (active)

因此,有2個版本安裝了PHP的。我該如何切換回PHP 5.3?爲什麼運行5.4遇到權限問題?

+0

爲什麼不用Apache來解決問題呢? –

+0

完成:)儘管如此,由於我沒有改變我的任何PHP代碼,我會感覺更安全切換回5.3。 –

+0

那麼,也許(和我不知道這裏),你可以做sudo端口停用php54。 (但是,因爲這是服務器的東西,所以整個問題更適合[serverfault](http://serverfault.com)比SO) –

回答

-2

那麼,我還沒有能夠恢復到5.3。我最終修復了訪問權限錯誤,目前我正在使用5.4。幸運的是,它是向後兼容的(至少,我還沒有發現任何重要的東西)。

底線 - 小心端口激活 - 可能沒有(已知)返回。

5

也許這是一個好主意,要求port這後都可以通過調用:

sudo port select --list php 

然後你得到所有的php版本端口的列表,誰知約

你只能做

sudo port select --set php <onOfTheList> 

就我而言,這是一個python端口,而port select --list python給了我一個python26-apple。爲了回到這個已知的端口,我不得不輸入

sudo port select --set python python27-apple 

而這做了相反的處理。