gpt4 book ai didi

CodeIgniter 无法实例化 Controller 类

转载 作者:行者123 更新时间:2023-12-03 07:05:09 24 4
gpt4 key购买 nike

所以我试图解决为什么 CodeIgniter 不会显示任何输出(404 等除外)。我检查了从 php、apache 和 codeigniter 中的错误日志到模块重写的所有内容。一切似乎都配置得很好。

我开始深入研究 CodeIgniter 核心文件,并注意到它在下面尝试实例化所请求的 Controller 类的行中崩溃:

        $class  = $RTR->fetch_class();
$method = $RTR->fetch_method();

echo 'looking for class: ' . $class . '<br/>';
if(class_exists($class) == false) {

)
{
echo 'class does not exist: ' . $class;
show_404("{$class}/{$method}");
}
}

/*
* ------------------------------------------------------
* Is there a "pre_controller" hook?
* ------------------------------------------------------
*/
$EXT->_call_hook('pre_controller');
echo '<br/>after precontroller';
/*
* ------------------------------------------------------
* Instantiate the requested controller
* ------------------------------------------------------
*/
// Mark a start point so we can benchmark the controller
$BM->mark('controller_execution_time_( '.$class.' / '.$method.' )_start');

echo '<br/>before class init: ' . $class;
$CI = new $class();
echo '<br/>after class init';

它位于/core/CodeIgniter.php 文件中。这是输出:

CodeIgniter.php
looking for class: servicecontroller

after precontroller
before class init: servicecontroller

基本上它告诉我它可以找到 servicecontroller 类,但是当它尝试实例化它时,它崩溃了。 php 错误日志已启用,并且 display_errors 已打开。如果我在此处附近的任何地方强制出现 php 错误,我会在页面上看到它,但不是这个。有谁知道为什么它无法越过这条线?

servicecontroller.php的排列如下:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class servicecontroller extends CI_Controller {
}

最佳答案

好的,这个问题的根源是使用 mysql_connect 连接数据库时出错。由于某种原因,它不会产生任何错误,也不会 "or die("error..."); 做任何事情。这是因为我们在服务器上使用 php 5.4,并且 mysql_connect 似乎不再受支持,除非你安装了 mysqlnd。解决方案是将我们的数据库驱动程序切换到“mysqli”,幸运的是 CodeIgniter 有一个驱动程序,然后使用以下命令安装 php5-mysql: apt-get install php5-mysql希望这对其他人有帮助。

关于CodeIgniter 无法实例化 Controller 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16949726/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com