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_';
?>

我已经阅读了很多讨论这个问题的文章,但仍然找不到解决方案。真的对这个问题感到困惑,因为在本地服务器上一切正常。我已将配置文件配置为所需的内容,例如数据库和路由配置。还有其他需要我重新配置的东西吗?

编辑:我的 Codeigniter 版本是 2.1.3

4

1 回答 1

0

好的,您将 更改filename为小写,现在,也尝试更改classname

class system_controller extends CI_Controller

如果不运行,请使用类名和文件名,这是您的服务器的问题,在共享服务器中很常见。

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

于 2013-04-18T20:55:34.740 回答