2009-08-05 45 views
0

我有一個笨奇怪的問題,__construct(){針對PHP4和PHP5的問題。也許在另一個原因

這裏是我的控制器

class Home extends Controller 
{ 
    /** 
    * Constructor 
    */ 
    public function __construct() { 
     parent::Controller(); 

    } 

... 

一切都在本地主機工作正常的開始部分,但是當我嘗試在服務器一樣,我來交與下面的錯誤:

Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home3/blabla/public_html/blablabla/applications/frontend/controllers/home.php on line 22

我研究和人們說它是關於PHP4 ..它應該是PHP5。但我的服務器上有PHP5。可能是什麼原因?

感謝幫助!非常感謝!

+2

如果您確定**您正在運行PHP 5嗎?也許你的服務器同時具有PHP 4和PHP 5,並且你需要激活一些配置選項才能使用PHP 5(我有一臺舊服務器,我必須這樣做)? – 2009-08-05 11:23:49

+0

用echo「version =」檢查你的版本。 PHP_VERSION; 哪一行是第22行? – Lucky 2009-08-05 12:46:30

+0

我的服務器信息顯示爲 PHP版本\t 5.2.9 – 2009-08-05 12:49:02

回答

2

非常抱歉!我不知道怎麼回事,但Bluehost信息面板說PHP 5是活躍的。我只是相信。當我做一個php_info();頁面以防萬一,我看到實際上它是PHP 4:/

我更新了PHP5的服務器,現在一切都很好。

對不起。並感謝所有您的支持!

0

您是否也遇到了類中其他函數的相同問題?因爲,據我所知,你不能使公共或私人的構造函數。它應該只是「function __construct()」。

+0

您可以使__construct()函數爲私有。 在php5中,如果您在類中使用「function functionName()」,則它假定該函數是公共的。 – Anthony 2009-08-05 12:47:04

4

這聽起來好像是口譯員在public關鍵字上磕磕絆絆,它並不指望這是PHP4上運行的網站的指示/問題。

確保您在網站中迴應了PHP版本,而不僅僅是在某個控制面板中查找它。

檢查是否有任何.htaccess指令可能會將默認處理程序更改爲PHP4。

有時主機可能會默認爲PHP4的.php文件,而PHP5只能爲.php5文件。

0

看看你的php.ini文件中正在運行的php版本。

0

我刪除了公共部分,它工作正常。真奇怪!那裏的公衆真的很重要!?