__construct(){问题为PHP4和PHP5。也许是另一个原因

时间:2009-08-05 11:15:45

标签: php codeigniter php4

我对CodeIgniter有一个奇怪的问题,

这是我的控制器的开始部分

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

    }

...

在localhost上一切正常,但是当我在服务器上尝试相同时,我会遇到如下错误:

  

解析错误:语法错误,意外   T_STRING,期待T_OLD_FUNCTION或   T_FUNCTION或T_VAR或'}'   /home3/blabla/public_html/blablabla/applications/frontend/controllers/home.php   在第22行

我研究过,人们说它是关于PHP4的......它应该是PHP5。但我的服务器上有PHP5。可能是什么原因?

欣赏帮助!非常感谢!

5 个答案:

答案 0 :(得分:4)

听起来好像解释器在public关键字上遇到了它不期望的问题,这表明在PHP4上运行的网站存在问题。

确保您在网站中回显PHP版本,而不仅仅是在某个控制面板中查找它。

检查是否有任何.htaccess指令可能会将默认处理程序更改为PHP4。

有时主机可能默认为PHP4用于.php个文件而PHP5仅用于.php5个文件。

答案 1 :(得分:2)

我很抱歉!我不知道怎么回事,但是Bluehost信息面板说PHP 5是活跃的。而我只是相信这一点。当我做一个php_info();页面以防万一,我看到它实际上是PHP 4:/

我为PHP5更新了服务器,现在一切都很好。

我很抱歉搞乱。并感谢所有人的大力支持!!!

答案 2 :(得分:0)

您是否也遇到了班级中其他功能的相同问题?因为,据我所知,你不能将构造函数设为公共或私有。它应该只是“function __construct()”。

答案 3 :(得分:0)

在php.ini文件中查看正在运行的php版本。

答案 4 :(得分:0)

我删除了公共部分,它运行正常。真奇怪!公众在那里真的很重要!?