我有一些codeigniter应用程序。它在我的本地服务器上运行良好。在我将其上传到托管服务器后,它将无法工作并导致错误:
Fatal error: Class 'System_Controller' not found in /home/k2113138/public_html/test/application/controllers/login.php on line 3
这是扩展CI_Controller的系统控制器:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
//location: application/core/
class System_Controller extends CI_Controller {
public function __construct(){
parent::__construct();
//some code
}
}
我的控制员:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
//location: application/controllers/
class Login extends System_Controller {
public function __construct()
{
parent::__construct();
}
}
我已将配置设置为我想要的配置,如下所示:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$config['base_url'] = 'http://xx.com/subfolder/';
$config['subclass_prefix'] = 'System_';
?>
我已经阅读了许多讨论此事的文章,但仍无法找到解决方案。真的很困惑这个问题,因为一切都在本地服务器上运行良好。我已将配置文件配置为数据库和路由配置所需的配置文件。还有其他需要重新配置的东西吗?
编辑:我的Codeigniter版本是2.1.3
答案 0 :(得分:0)
好的,您已将filename
更改为小写,现在,请尝试更改classname
:
class system_controller extends CI_Controller
如果不运行,请使用类名和文件名,这是服务器的问题,在共享服务器中很常见。
有时,PHP版本及其配置在这种情况下起着重要作用。