我有控制器名为"错误"在codeigniter" application / controllers / Error.php"。
我使用此控制器通过路由覆盖默认的404错误页面。
$route['404_override'] = 'myerror';
但是在404错误发生时,我收到了以下错误。
A PHP Error was encountered
Severity: Warning
Message: call_user_func_array() expects parameter 1 to be a valid callback, class 'Error' does not have a method 'index'
Filename: core/CodeIgniter.php
Line Number: 514
Backtrace:
File: C:\xampp\htdocs\ci-app\index.php
Line: 292
Function: require_once
但是当我将Error控制器重命名为另一个时,它可以工作。
请帮忙。
答案 0 :(得分:2)
您需要将控制器和文件名更改为myerror
,例如
<?php
//application/controllers/Myerror.php
class Myerror extends CI_Controller
{
public function __construct()
{
parent::__construct();
}
public function index()
{
$this->output->set_status_header('404');
$data['content'] = 'error_404'; // Let View name
$this->load->view('index',$data);// loading view
}
}