为了账号安全,请及时绑定邮箱和手机立即绑定

PHP错误报告级别

标签:
PHP

1 E_ERROR       致命的运行时错误

 

2 E_WARNING      运行时警告(非致命性错误)

 

4 E_PARSE       编译时解析错误

 

8 E_NOTICE      运行时提醒(经常是bug,也可能是有意的)

 

16 E_CORE_ERROR    PHP启动时初始化过程中的致命错误

 

32 E_CORE_WARNING   PHP启动时初始化过程中的警告(非致命性错)

 

64 E_COMPILE_ERROR   编译时致命性错

 

128 E_COMPILE_WARNING  编译时警告(非致命性错)

 

256 E_USER_ERROR    用户自定义的致命错误

 

512 E_USER_WARNING   用户自定义的警告(非致命性错误)

 

1024 E_USER_NOTICE    用户自定义的提醒(经常是bug,也可能是有意的)

 

2048 E_STRICT      编码标准化警告(建议如何修改以向前兼容)

 

4096 E_RECOVERABLE_ERROR 接近致命的运行时错误,若未被捕获则视同E_ERROR

 

6143 E_ALL        除E_STRICT外的所有错误(PHP6中为8191,即包含所有)

 

track_errors = Off

 

是否在变量$php_errormsg中保存最近一个错误或警告消息。

 

display_errors = On

 

是否将错误信息作为输出的一部分显示。

 

在最终发布的web站点上,强烈建议你关掉这个特性,并使用错误日志代替(参看下面)。

 

在最终发布的web站点打开这个特性可能暴露一些安全信息,

 

例如你的web服务上的文件路径、数据库规划或别的信息。

 

display_startup_errors = Off

 

是否显示PHP启动时的错误。

 

即使display_errors指令被打开,关闭此参数也将不显示PHP启动时的错误。

 

建议你关掉这个特性,除非你必须要用于调试中。

 

report_memleaks = On

 

是否报告内存泄漏。这个参数只在以调试方式编译的PHP中起作用,

 

并且必须在error_reporting指令中包含 E_WARNING

 

report_zend_debug = On

 

尚无说明文档

 

html_errors = On

 

是否在出错信息中使用HTML标记。

 

注意: 不要在发布的站点上使用这个特性!

 

docref_root = ;"http://localhost/phpmanual/"

 

docref_ext =  ;".html"

 

如果打开了html_errors指令,PHP将会在出错信息上显示超连接,

 

直接链接到一个说明这个错误或者导致这个错误的函数的页面。

 

你可以从http://www.php.net/docs.php下载php手册,

 

并将docref_root指令指向你本地的手册所在的URL目录。

 

你还必须设置docref_ext指令来指定文件的扩展名(必须含有''.'')。

 

注意: 不要在发布的站点上使用这个特性。

 

error_prepend_string = ;"<font color=#f00>"

 

用于错误信息前输出的字符串

 

error_append_string =  ;"</font>"

 

用于错误信息后输出的字符串

 

xmlrpc_errors = Off

 

xmlrpc_error_number = 0

 

尚无文档

 

[PHP-Core-Logging]

 

define_syslog_variables = Off

 

是否定义各种系统日志变量,如:$LOG_PID, $LOG_CRON 等等。

 

关掉它以提高效率的好主意。

 

你可以在运行时调用define_syslog_variables()函数来定义这些变量。

 

error_log =

 

将错误日志记录到哪个文件中。该文件必须对Web服务器用户可写。

 

syslog 表示记录到系统日志中(NT下的事件日志, Unix下的syslog(3))

 

如果此处未设置任何值,则错误将被记录到Web服务器的错误日志中。

 

log_errors = Off

 

是否在日志文件里记录错误,具体在哪里记录取决于error_log指令。

 

强烈建议你在最终发布的web站点时使用日志记录错误而不是直接输出,

 

这样可以让你既知道那里出了问题,又不会暴露敏感信息。

 

log_errors_max_len = 1024

 

设置错误日志中附加的与错误信息相关联的错误源的最大长度。

 

这里设置的值对显示的和记录的错误以及$php_errormsg都有效。

 

设为 0 可以允许无限长度。

 

ignore_repeated_errors = Off

 

记录错误日志时是否忽略重复的错误信息。

 

错误信息必须出现在同一文件的同一行才被被视为重复。

 

ignore_repeated_source = Off

 

是否在忽略重复的错误信息时忽略重复的错误源。

 

[PHP-Core-Mail]

 

要使邮件函数可用,PHP必须在编译时能够访问sendmail程序。

 

如果使用其它的邮件程序,如qmail或postfix,确保使用了相应的sendmail包装。

 

PHP首先会在系统的PATH环境变量中搜索sendmail,接着按以下顺序搜索:

 

/usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib

 

强烈建议在PATH中能够找到sendmail。

 

另外,编译PHP的用户必须能够访问sendmail程序。

 

SMTP = "localhost"

 

mail()函数中用来发送邮件的SMTP服务器的主机名称或者IP地址。仅用于win32。

 

smtp_port = 25

 

SMTP服务器的端口号。仅用于win32。

 

sendmail_from =

 

发送邮件时使用的"From:"头中的邮件地址。仅用于win32

 

该选项还同时设置了"Return-Path:"头。

 

sendmail_path = "-t -i"

 

SYS

 

仅用于unix,也可支持参数(默认的是''sendmail -t -i'')

 

sendmail程序的路径,通常为"/usr/sbin/sendmail或/usr/lib/sendmail"。

 

configure脚本会尝试找到该程序并设定为默认值,但是如果失败的话,可以在这里设定。

 

不使用sendmail的系统应将此指令设定为sendmail替代程序(如果有的话)。

 

例如,Qmail用户通常可以设为"/var/qmail/bin/sendmail"或"/var/qmail/bin/qmail-inject"。

 

qmail-inject 不需要任何选项就能正确处理邮件。

 

mail.force_extra_parameters =

 

作为额外的参数传递给sendmail库的强制指定的参数附加值。

 

这些参数总是会替换掉mail()的第5个参数,即使在安全模式下也是如此。

 

[PHP-Core-ResourceLimit]

 

default_socket_timeout = 60

 

默认socket超时(秒)

 

max_execution_time = 30

 

每个脚本最大允许执行时间(秒),0 表示没有限制。

 

这个参数有助于阻止劣质脚本无休止的占用服务器资源。

 

该指令仅影响脚本本身的运行时间,任何其它花费在脚本运行之外的时间,

 

如用system()/sleep()函数的使用、数据库查询、文件上传等,都不包括在内。

 

在安全模式下,你不能用ini_set()在运行时改变这个设置。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消