默认处理机制
以下参数均在php.ini中设置
error_reporting = E_ALL
display_errors = On
error_reporting
设置应该报告何种PHP错误,常见的错误级别有E_ALL(全部),E_WARNING(警告),E_PARSE(语法),E_NOTICE(注意)。错误级别不同,记录的错误信息也就不同。如果你仅仅设置error_reporting,那么你在使用的时候遇到错误是看不到任何错误信息的,只会看页面返回500,因为我们需要设置另一个参数,display_errors。
display_errors
当你遇到错误,页面却返回给你500,此时你便会去查看是不是error_reporting没有设置好,但是当你查看的时候,error_reporting明明设置的E_ALL,为什么没信息输出呢,其实是因为你的display_errors是Off。设置error_reporting只是为了告诉系统什么时候应该记录错误信息,而display_errors才是是否展示这些信息。
自定义处理机制
set_error_handler
自定义错误处理函数,我们可以通过它来设置自己希望的遇到错误时的处理方式,采用该函数之后,php.ini中的设置对于其无效。当然,如果错误发生在使用set_error_handler之前,将不会调用自定义错误处理函数。