我对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。可能是什么原因?
欣赏帮助!非常感谢!
答案 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)
我删除了公共部分,它运行正常。真奇怪!公众在那里真的很重要!?