处理在我的工程来抓我已经建立了我的错误处理机制上的所有PHP错误如下:错误笨
- 我在
index.php
文件,该文件将覆盖php.ini
文件 任何设置error_reporting()
- 错误处理程序使用
set_error_handler
在system/codeigniter/CodeIgniter.php
设置 - 这个错误处理程序,_exception_handler
,是 在system/codeigniter/Common.php
- 的发现函数忽略
E_STRICT
错误,如果是,你error_reporting()
功能index.php
指定的 严重性调用show_php_error
功能从异常系统库和记录错误根据不管你已经在你的config.php
文件 - 的处理程序中设置返回
FALSE
,所以在这个PHP继续处理 错误但是它通常会根据您的error_reporting
级别 和display_errors
设置。
让我感到困惑的是E_ERROR
错误,即致命错误似乎没有被_exception_handler
捕获。这不仅仅是show_php_error
没有被调用,它看起来像函数没有被调用。这显然是一个问题,因为这意味着它们不会被show_php_error
处理或记录。例如,如果我故意在控制器中输入$this->load->views('foo');
,处理程序不会被调用。
任何有关错误处理的建议将不胜感激,谢谢!
我认为这可能是PHP本身无法测试它的问题。如果您看到http://www.php.net/manual/en/function.error-reporting。php#70126你会发现在这种情况下,E_ERROR会导致类似于E_PARSE会做的事情。 – David 2013-02-10 23:36:43
你在用什么环境? – bottleboot 2013-02-15 15:35:36