2014-07-08 52 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 

而这做了相反的处理。