CI构造函数无法加载

时间:2014-02-21 06:52:21

标签: php codeigniter amazon-ec2 codeigniter-2

我在应用程序/核心编写了一个核心控制器 - 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');       
  }

正如你所看到的那样,第一个echo被回显,但是第二个不能到达,因为parent :: __ construct调用了CI_Controllers的__construct,它在方法解析顺序的某个地方失败了(连续调用其中的其他方法 - 我猜)。如果我继续调试,我认为这将花费我一整天,除了我已经浪费了两天后。

仅供参考:我在使用EC2 VPS。安装php5.4 *,apache2.4 *,mysql5.5 * CI:2.1.3,php.ini:display_errors = On, CI:error_reporting(E_ALL) [但CI的错误日志未被写入可能是出于同样的原因。我给了755烫发的日志文件夹。] 更多调试:在不继承MY_protected的情况下调用控制器也会产生相同的结果。 当然:自动加载,库加载,查看加载,帮助程序加载都失败。

请帮忙!

1 个答案:

答案 0 :(得分:0)

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

例如,您很可能将新文件添加到controllers文件夹,因此请将您的工作移至codeigniter的controllers文件夹的全新安装。为你所做的一切做这件事..

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

希望这会有所帮助。