【问题标题】:CI constructor is failing to loadCI 构造函数加载失败
【发布时间】:2014-02-21 06:52:20
【问题描述】:

我在application/core--MY_Controller.php中写了一个核心控制器:

class MY_ProtectedController extends CI_Controller{
   public function __construct(){
    echo("I luv bd1"); //This echo's
    parent::__construct();
    echo("I luv bd2"); //this one even couldn't reached to
    $this->CI=& get_instance();     
    $this->CI->load->library('permission');
    $this->CI->load->library('authentication');
    $this->CI->load->model('commonmodel');
    $this->CI->load->model('admin/usermodel');
    $this->CI->load->library('imagelib');
    $this->CI->load->library('facebook');       
  }

如您所见,第一个回显已回显,但第二个回显无法到达,因为 parent::__construct 调用 CI_Controllers 的 __construct,它在方法解析顺序的某处失败(连续调用其中的其他方法 --- 我猜)。如果我继续调试,我想我会花一整天的时间,除了我已经浪费了两天时间。

仅供参考:我使用的是 EC2 VPS。安装 php5.4*,apache2.4*,mysql5.5* CI:2.1.3, php.ini:display_errors=On, CI:错误报告(E_ALL) [但是 CI 的错误日志没有被写入可能是出于同样的原因。我给了日志文件夹 755 perm。] 更多调试:调用控制器而不从 MY_protected 继承也会导致相同的结果。 理所当然:自动加载、库加载、视图加载、辅助加载都失败了。

请帮忙!

【问题讨论】:

  • 检查apache错误日志文件
  • @Sundar 嘿兄弟。我想我们昨天已经在另一个问题中讨论过这个问题。我告诉你兄弟我检查了它。它什么也没给我。无论如何,我从 ~>tail -n 300 error_log.txt 开始检查它,它给了我最后 300 行,其中没有任何内容表明构造有问题。但是我是通过一行一行的调试才发现的。

标签: php codeigniter amazon-ec2 codeigniter-2


【解决方案1】:

尝试安装codeigniter 的新副本,即Download Codeigniter 并仅粘贴您更改或添加的文件。

例如,您很可能在控制器文件夹中添加了新文件,因此请将您的工作移至全新安装的 codeigniter 的控制器文件夹中。为你所有的工作都这样做..

我知道这不是一个合适的解决方案,但至少如果你这样做,你可以继续工作。我看不到您提供的信息,为什么它在parent::__construct(); 之后不会运行任何东西,甚至不会运行该行。

希望这会有所帮助。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-28
  • 2011-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-18
相关资源
最近更新 更多