2012-07-15 18 views
0

我的服务器上(Centos5)我有PHP 5.2,我无法更新它,我读过的地方,PHP 5.4不会在Centos5上工作,没有足够的检查,因为我在很多项目中,反正,这里是语法:什么版本的PHP开始支持以下语法?

$data['trees'] = (new Tree())->where('parent_id',0)->get(); 

在我的WAMP它运行在PHP 5.4.3,在服务器上它给了我下面的错误:

Parse error: syntax error, unexpected T_OBJECT_OPERATOR

回答

3

支持访问实例成员后直接new的表达是introduced in PHP 5.4(最后)。请注意,围绕new表达式需要括号,就像在给定的代码行中一样,否则它将不起作用。

我还没有听说过运行PHP 5.4时无法工作的任何特定服务器配置或平台。如果它在安装了PHP 5.4的服务器上导致错误,那很可能不是解释脚本的版本(请检查您的服务器配置,.htaccess和INI指令)。

+0

+1对于快速回复,我会尽快将回答标记为正确,如果您对centos 5上的PHP 5.4有任何想法,我会很感激。 – 2012-07-15 06:53:40

+0

+1。如果你可以改变发行版,我会推荐ArchLinux。如果没有,你将不得不重新编译PHP所需的版本。 (ArchLinux为服务器提供服务,它像Slackware/Gentoo一样干净,并且易于像主流发行版那样维护。) – Flavius 2012-07-15 06:55:39