在php中可以使用error_reporting来定义你的程序在出错时抛出哪种级别的错误
(1).设置你想要的错误敏感击级别:
error_reporting指令确定报告的敏感级别。共有14个不同的级别,这些级别的任何组合都是有效的。下图为级别表:
php6中,E_STRICT被集成到了E_ALL中,因此,当运行php6时,需要将error_reporting指令设置为E-ALL来查看这些可移植性信息。
(error_reporting指令使用~字符表示逻辑操作符NOT)
比如希望报告除用户导致的错误之外的错误:
error_reporting E_ALL & ~(E_USER_ERROR|E_USER_WARNING|E_ USER_NOTICE)
(2).在浏览器上显示错误:
启用display_errors时,将显示满足error_reporting所定义规则的所有错误。
(3).显示启动错误:
启动display_startup_errors指令会显示php引擎初始化时所遇到的所有错误。于display_errors类似,应在测试时启用,网站投入运营后禁用。
(4).记录错误:
应当始终启用log_errors。这些日志语句记录的位置取决于error_log指令。
(5).表示日志文件:
错误可以发送给系统syslog,或者送往由管理员通过error_log指令制定的文件。如果此指令设置为syslog,在linux上错误语句将送往syslog,而在windows上错误将发送到事件日志。
syslog是基于UNIX的日志工具。windows事件日志实际上与UNIX的syslog相同。这些日志通常可以通过事件查看器来查看。
(6).设置日志行的最大长度:
log_errors_max_len指令设置每个日志的最大长度,以字节为单位。
(7).忽略重复的错误:
启用此指令将使php忽略在同一文件同一行上发生的重复的错误信息。
(8).忽略相同位置发生的错误:
启用此指令将使php忽略不同文件或同一文件不同行上发生的错误消息。
(9).在变量中存储最近发生的错误:
启用track_errors指令会使php变量$php_errormsg中存储最近发生的错误消息。一旦注册,就可以随心所欲的使用此变量数据。
2.错误日志:
要确保这个文本文件存放在文档根之外,以减少遭到攻击的可能性~
可以将error_log指令设置到操作系统的日志工具(syslog或者Event Viewer)中。这会导致php的错误信息写入操作系统的日志工具或者一个文本文件中。
(1).初始化php的日志工具:
define_syslog_variables()函数初始化一些常量,这些常量是使用openlog(),closelog(),syslog()函数时所必需的。
使用一下日志函数前必需先执行此函数。
(2).打开日志连接:
openlog()函数通过指定几个将在日志上下文使用的参数,为向系统系统日志插入消息做好准备。形式为:
int openlog(string ident,int option,int facility)
支持的参数:
ident:增加到每一项开始处的标识符,通常设置为程序名。
option:确定生成消息时使用哪些日志选项。日志选项表如下:
facility:谷歌一下~
(3).关闭日志连接
int closelog(void)
(4).向日志目标发布消息:
syslog()函数负责向syslog发送一条定制消息。