我现在将公司的旧CI2网站更新为CI3。经过一点点更改后,CI2的模型,控制器和视图似乎可以正常工作,但是我的应用程序始终显示“ 致命错误:在第196行的pathtoapp \ system \ core \ Common.php中找不到类'CI_Func'当加载库时,“ Func.php ”和“ F ”为大写,其位置位于“ pathtoapp \ application \ libraries ”中>”,然后回显“ Hello world”以进行测试。出现文本“ Hello world”,但应用程序仍显示错误。我尝试了许多其他库,但它只显示类似的错误,例如“致命错误:类'CI_Someotherlibrary'...”。我的系统正在使用IIS,PHP 5.5和MySQL运行。
这是我的Func.php和我的控制器
defined('BASEPATH') OR exit('No direct script access allowed');
class Func {
function __construct()
{
echo 'Hello world';
}
}
class Home extends CI_Controller{
public function __construct(){
parent::__construct();
$this->load->library('form_validation');
$this->load->helper(array('url', 'form', 'download', 'text', 'views'));
$this->load->library('pagination');
$this->load->Model("Menus");
$this->load->Model("2019/News","News");
$this->load->library('Func');
}}
我不知道为什么它会在我的库名称之前继续添加“ CI _ ”。我对CI还是很陌生,对stackoverflow还是很陌生。我已经在互联网上搜索了几乎所有内容,但仍然没有运气。任何建议将被认真考虑。提前致谢。 PS:对不起,我的英语不好。
通过@Bira任务更新信息 -当我将类的名称更改为CI_Func或$ this-> load-> library('func');时,出现新错误:“遇到错误,无法加载请求的类:Func”
更新1: 这是两个几乎与我的问题相似但无法解决我的问题的线程 Thread 1
更新2: -我发现当我不在Views中使用$ this-> load-> view时,错误消失了。原因可能是$ this-> load-> view触发了一些使加载程序类出错的事件。我只是不知道它有什么问题,因为我正在使用$ this-> load-> view来加载我的网站布局的某些部分,并且它与CI2一起正常工作。请有人帮我。
更新3: -我解决了。在我看来,我使用$ home = new home();创建控制器的新实例。因此可能是它再次加载了库并导致了错误。谢谢大家的帮助。
答案 0 :(得分:0)
我已经解决了。在我看来,我使用$ home = new home();创建控制器的新实例。因此可能是它再次加载了库并导致了错误。很难跟踪错误。谢谢大家的帮助。