2012-07-15 21 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