16.4 PHP配置中和错误处理有关的内容
除了通过以上几小节讲述的处理PHP程序错误的办法之外,通过一些对PHP的配置,也可以帮助处理PHP程序错误。PHP的配置文件php.ini中,有一些和错误信息排查、错误信息处理有关的配置项,下面向读者介绍这些内容,读者通过了解这些配置项,可以了解如何增强系统安全性和程序的可控性。php.ini中和错误处理有关的项及其介绍如下所示。
❑display_errors=Off:该项决定是否显示错误信息。当其取值为On时,表示打开选项,当为Off时,表示关闭选项。如果该项设置为On,错误信息会输出到用户浏览器端。当开发时,可以将该项设置为On,以便快速找到程序错误所在。当正式发布Web站点时,应该关掉这个特性,并使用错误日志代替,因为打开这个特性可能暴露站点的一些安全信息。以下介绍的各配置项,通常都有On和Off两种设置值。
❑log_errors=On:该项决定是否在日志文件中记录错误。正如上面讲述的,当正式发布站点时,该项应该设置为On,这样可以通过日志文件,查找相关错误或异常信息。
❑error_log=filename:设定记录错误信息的日志文件。filename为日志文件名,如果设为“syslog”,错误日志将被记录到系统日志中。
❑log_errors_max_len=1024:设置错误日志文件的最大长度,设为0可以允许无限长度。
❑html_errors=Off:如果该项设置为Off,禁用出错信息中的HTML标记。
❑display_startup_errors=Off:该项的作用是,如果display_errors项被打开,即便关闭此参数也不显示PHP启动时的错误。通常需要将该参数设置为Off,除非必须要用于调试中。
❑ignore_repeated_errors=Off:忽略重复的错误信息。如果关闭这个参数,错误信息必须出现在同一个文件的同一行才被忽略。如果打开这个参数,则没有这个限制。
❑ignore_repeated_source=Off:忽略重复的错误源,忽略错误信息的重复错误源。如果打开这个参数,将不会记录不同的出错文件和对应行的错误信息。