为什么Code Igniter会给我一个白页?

dma*_*exe 9 php codeigniter

嘿,当我加载一个简单的模型时,不确定CodeIgniter为什么给我一个空白页面.我正在打破代码,倒退,我无法弄清楚什么是破坏.这是控制器:

class Leads extends Controller {

function Leads() {
    parent::Controller();
    $this->load->scaffolding('leads');
  }

function index() {
    $data = array( 'title' => 'Lead Management' );

    $this->load->view('html_head', $data);
    $this->load->view('leads/home');
    $this->load->view('html_foot');

  }

function view() {
    $this->load->model('Leads');
    $this->load->view('html_head');
    $this->load->view('leads/view');
    $this->load->view('html_foot');
  }

}
Run Code Online (Sandbox Code Playgroud)

这是模型:

class Leads extends Model {

function Leads()    {
    parent::Model();
}
Run Code Online (Sandbox Code Playgroud)

}

我没有在/ view上看到白页的唯一方法是我注释掉模型的加载.我完全不知道我做错了什么,我正在复制示例和结构,直接在CI网站上.

zom*_*bat 16

啊,经典的Codeigniter白屏死机.我第一次使用CI遇到了这个问题.令人难以置信的是,这样一个流行的框架可能导致这样的事情没有错误输出.

在我的特定情况下,这是因为我试图将数据库类与MySQLi一起使用,但我的目标环境没有安装MySQLi模块.出于某种原因,CI抑制了所有常见的错误输出,因此它将2分钟的调查转变为2小时的调查.

所以说,我会检查以下事项:

如果你找不到任何有错误输出的东西,你将不得不深入挖掘.如果您安装了xdebug,我强烈建议您使用它...将代码包围在跟踪中,看看它在哪里窒息.

我最终必须通过深入了解框架类本身并转储输出(没有xdebug可用)来找到我的WSOD的原因.这不好玩,但它最终奏效了.


Dan*_*oap 12

您的两个类都被命名为"Leads".当CI包含这些时,它们将加载到同一名称空间中.你可能有"Cannot redeclare class 'Leads'"错误.尝试重命名模型,你应该没问题.

编辑:猜测确认

  • 我认为主要是因为这是一个致命的错误.CI尝试使用它的"漂亮"模板输出每个错误,但根据定义,它无法处理致命错误. (2认同)