我在应用程序/核心编写了一个核心控制器 - 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的情况下调用控制器也会产生相同的结果。 当然:自动加载,库加载,查看加载,帮助程序加载都失败。
请帮忙!
答案 0 :(得分:0)
尝试安装codeigniter的全新副本,即Download Codeigniter,并仅粘贴您已更改或添加的文件。
例如,您很可能将新文件添加到controllers文件夹,因此请将您的工作移至codeigniter的controllers文件夹的全新安装。为你所做的一切做这件事..
我知道这不是一个合适的解决方案,但至少如果你这样做,你可以继续工作。我看不到您提供的信息,为什么它不会在parent::__construct();
之后运行任何内容,甚至不会运行该行。
希望这会有所帮助。