我在CodeIgniter中遇到了問題,那就是當在服務器上找不到圖像時,會創建一個控制器實例(除了稱爲視圖的實例)。未找到圖像時創建的Codeigniter控制器
我知道這一切聽起來令人困惑,所以這是觀察我在說什麼的代碼。我這樣做,變成一個乾淨的2.1.0版本CI:
添加控制器覆蓋的404錯誤頁面,我加了這樣一句:
// add application/controllers/Errors.php
Class Errors extends CI_Controller {
public function error_404() {
echo 'error';
}
}
// change routes.php
$route['404_override'] = 'Errors/error_404';
使用一個控制器,它不是默認的用一個unexisting圖像,我用這個:
// add application/controllers/Foo.php
Class Foo extends CI_Controller {
public function index() {
echo '<img src="doesntexist.png" />';
}
}
我無法弄清楚調試它的另一種方式,所以我創建了一個日誌上寫上CodeIgniter.php事件:
// add on CodeIgniter.php line 356
$path = 'log.txt'; //Place log where you can find it
$file = fopen($path, 'a');
fwrite($file, "Calling method {$class}/{$method} with request {$_SERVER['REQUEST_URI']}\r\n");
fclose($file);
有了這個,那個產生訪問index功能的記錄如下:
Calling method Foo/index with request /test/index.php/Foo
Calling method Errors/error_404 with request /test/index.php/doesntexist.png
這是我有問題,創建Error類的一個實例。