Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CodeIgniter:Class';CI#U控制器';找不到_Codeigniter_Php - Fatal编程技术网

CodeIgniter:Class';CI#U控制器';找不到

CodeIgniter:Class';CI#U控制器';找不到,codeigniter,php,Codeigniter,Php,我通过在Application/Core文件夹中添加我的_controller.php扩展了CodeIgniter控制器。它工作正常,但现在当我在Application/errors的error_404.php页面上添加以下代码时,我得到了错误 导致问题的代码: <?php $ci =& get_instance();?> <?php $this->ci->load->view('header')?> Fatal error: Class 'C

我通过在Application/Core文件夹中添加我的_controller.php扩展了CodeIgniter控制器。它工作正常,但现在当我在
Application/errors
error_404.php
页面上添加以下代码时,我得到了错误

导致问题的代码:

<?php $ci =& get_instance();?>
<?php $this->ci->load->view('header')?>
Fatal error: Class 'CI_Controller' not found in path\to\system\core\CodeIgniter.php on line 231
system\core\CodeIgniter.php
的第231行是:

function &get_instance()
    {
        return CI_Controller::get_instance(); 
    }
如何修复此问题,以便在不更改系统文件中的任何内容的情况下加载错误_404.php中的视图

另外,我使用的是最新版本

谢谢。

试试:

<?php $ci =& get_instance();?>
<?php $ci->load->view('header')?>


将CI实例分配给$CI后,您可以在整个文件中使用$CI->load->view('header)。

我认为尚未加载CI\u控制器。Exception类使用
include
处理404页输出

在过去,我常常使用straight
include
s拼凑模板,或者对404页URL执行
文件获取内容()
或cURL请求,但他们最终还是做了一些改变。在2.0中,您可以在
routes.php
中定义自定义404页面:

$route['404_override'] = 'controller/method/parameter';
它仍然是,但现在最简单的方法就是使用这条路线


请注意,
base\u url().“控制器/方法/参数”
必须是有效的url,并且您应该确保在输出页面的控制器中设置404头(由于某些原因,它不会自动完成)。

我在这里学习CodeIgniter教程时遇到了这个问题:

问题是我试图访问url:

localhost/CodeIgniter_2.1.1/application/controllers/pages.php

而不是寻址url:

localhost/CodeIgniter_2.1.1/index.php/pages/view

我知道你问这个问题已经18个月了,但也许它可以帮助其他人:)

或者你可以试试这个, 也许有点脏,但我想它对我有用

将您的异常更新为

function show_404($page = '', $log_error = TRUE)  {
   if ($log_error)   {
     log_message('error', '404 Page Not Found --> '.$page); 
   } 
   header('Location: http://www.########.###/error/error_404');  
   die();
}
然后只需创建控制器来处理重定向,可能在出现不同错误时,您可以使用同一个控制器


这样你就可以得到动态页眉和页脚了

我也试过了,但没用。错误是由第一行引起的,因为即使我删除了第二行,它仍然保持不变。如果您使用Composer进行自动加载,此错误也可能是由缺少供应商目录引起的。在这种情况下,通过在服务器上运行
composer install
(推荐)或通过FTP上载来修复无法在服务器上运行命令的问题。