2013-04-09 169 views
1

我有一些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_'; 
?> 

我看了很多文章讨论这件事但还是找不到解决办法。真的很迷惑这个问题,因为在本地服务器中一切正常。我已经将配置文件配置为数据库和路由配置所需的配置文件。还有什么我需要重新配置吗?

编辑:我笨的版本是2.1.3

+0

你把文件和System_Controller放在哪里? – complex857 2013-04-09 10:49:37

+0

我已经在上面写过。在应用程序/核心。你怎么看? – fembb 2013-04-09 11:00:51

+0

是的,我知道,我认为它可能是一个* filename *大小写问题,它应该是'System_Controller.php'(大写的S和C),以使CI接收它。 – complex857 2013-04-09 11:05:20

回答

0

好吧,你改变了filename为小写,现在,尝试改变classname太:

class system_controller extends CI_Controller 

如果不跑,与玩classname和文件名,这是你的服务器的问题,在共享服务器中很常见。

有时候,PHP版本及其配置在这种情况下发挥重要作用。