PHP程序员站--PHP编程开发平台
 当前位置:主页 >> PHP基础 >> 每日技巧 >> 

php中的错误等级与异常处理

php中的错误等级与异常处理

来源:PHP程序员站  作者:PHP程序员站  发布时间:2011-06-08
在php中可以使用error_reporting来定义你的程序在出错时抛出哪种级别的错误 (1).设置你想要的错误敏感击级别: error_reporting指令确定报告的敏感级别。共有14个不同的级别,这些级别的任何组合都是有效的。下图为级别表: php6中,E_STRICT被集成到了E_ALL中,因此,

在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发送一条定制消息。


延伸阅读:
正确理解PHP的错误信息
如何正确理解 PHP 的错误信息
php include时常出现的错误及原因
Notice: Undefined variable 的解决方法
PHP has encountered an Access Violation 错误的解决方法
session错误Cannot send session cache limiter - headers already sent 的解决方法
php错误:Cannot modify header information出错的原因
关于 Notice: Undefined index 解决方法
PHP的错误信息大全

最新文章
推荐阅读
月点击排行榜
PHP程序员站 Copyright © 2007-2010,PHPERZ.COM All Rights Reserved 粤ICP备07503606号