当前位置:  编程技术>php

php错误日志处理display_errors与log_errors用法区别

    来源: 互联网  发布时间:2014-08-30

    本文导语:  有关php错误日志是否回显的设置: display_errors 错误回显,一般常用语开发模式,但是很多应用在正式环境中也忘记了关闭此选项。 错误回显可以暴露出非常多的敏感信息,为攻击者下一步攻击提供便利。推荐关闭此选项。 d...

有关php错误日志是否回显的设置:
display_errors
错误回显,一般常用语开发模式,但是很多应用在正式环境中也忘记了关闭此选项。
错误回显可以暴露出非常多的敏感信息,为攻击者下一步攻击提供便利。推荐关闭此选项。

display_errors = On
开启状态下,若出现错误,则报错,出现错误提示

dispaly_errors = Off
关闭状态下,若出现错误,则提示:服务器错误。但是不会出现错误提示

log_errors
在正式环境下用这个就行了,把错误信息记录在日志里。正好可以关闭错误回显。

对于php开发人员来说,一旦某个产品投入使用,第一应该将display_errors选项关闭,以免因为这些错误所透露的路径、数据库连接、数据表等信息而遭到黑客攻击。

某个产品投入使用后,难免会有错误信息,那么如何记录这些对开发人员非常有用的信息呢?(www. 脚本学堂)
将PHP的log_errors开启即可,默认是记录到WEB服务器的日志文件里,比如Apache的error.log文件。
当然也可以记录错误日志到指定的文件中。

例如:
 

代码示例:
# vim /etc/php.inidisplay_errors = Off
log_errors = On
error_log = /var/log/php-error.log

另外,也可以设定error_log = syslog,使这些错误信息记录到操作系统的日志里。
display_errors = Off //display中文意思是显示所以display_error=off的意思就是不显示错误了!
error_reporting 设定错误讯息回报的等级
2047我记得应该是E_ALL。
php.ini 文件中有许多配置设置。您应当已经设置好自己的 php.ini 文件并把它放在合适的目录中,就像在 Linux 上安装 PHP 和 Apache 2 的文档说明中所示的那样(请参阅 参考资料)。在调试 PHP 应用程序时,应当知道两个配置变量。下面是这两个变量及其默认值:
display_errors = Off //关闭所有错误信息,为ON时为显示所有错误信息。
error_reporting = E_ALL
E_ALL能从不良编码实践到无害提示到出错的所有信息。E_ALL 对于开发过程来说有点太细,因为它在屏幕上为一些小事(例如变量未初始化)也显示提示,会搞糟浏览器的输出
所以不建议使用2047,最好把默认值改为:error_reporting = E_ALL & ~E_NOTICE

PHP.ini中display_errors = Off失效的解决

问题:
PHP设置文件php.ini中明明已经设置display_errors = Off,但是在运行过程中,网页上还是会出现错误信息。
解决:
经查log_errors= On,据官方的说法,当这个log_errors设置为On,那么必须指定error_log文件,如果没指定或者指定的文件没有权限写入,那么照样会输出到正常的输出渠道,那么也就使得display_errors 这个指定的Off失效,错误信息还是打印了出来。于是将log_errors = Off,问题就解决了。

经常见到error_reporting(7)直意为:设定错误讯息回报的等级。
 

value constant
1 E_ERROR
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING
64 E_COMPILE_ERROR
128 E_COMPILE_WARNING
256 E_USER_ERROR
512 E_USER_WARNING
1024 E_USER_NOTICE
2047 E_ALL
2048 E_STRICT
 

然而7=1+2+4
就是出错时显示1 E_ERROR 2 E_WARNING 4 E_PARSE

例子:
 

代码示例:
您可能感兴趣的文章:
  • php记录错误日志

    
 
 

您可能感兴趣的文章:

  • PHP的substr() 函数用法
  • php setcookie函数的参数说明及其用法
  • php中检测变量是否是一个对象的is_object函数介绍及用法举例
  • PHP函数microtime()用法与说明
  • php session 原理详解,用法介绍以及如何设置过期时间
  • php析构函数用法举例
  • php时间格式化函数date介绍及用法参考
  • php sprintf函数用法 php浮点数格式
  • PHP随机显示指定文本(if elseif的用法)
  • php析构函数用法分享
  • php goto语句用法简介
  • PHP函数microtime()时间戳的定义与用法
  • php pdo mysql query用法介绍
  • PHP ini_set与ini_get函数用法
  • php STDIN标准输入用法举例
  • php zip解压缩类pclzip用法举例
  • MySQL和PHP中substr函数用法
  • PHP中ini_set和ini_get函数的用法小结
  • php pdo insert与pdo insertId的用法
  • php浮点数精度用法分析
  • php GD库函数getimagesize()的用法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • IIS7配置PHP图解(IIS7+PHP_5.2.17/PHP_5.3.5)
  • PHP 5.4.19 和 PHP 5.5.3 发布及下载地址
  • php输入流php://input使用示例(php发送图片流到服务器)
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • PHP转换器 HipHop for PHP
  • PHP去除html标签,php标记及css样式代码参考
  • PHP 框架 Pop php
  • PHP 'ext/soap/php_xml.c'不完整修复存在多个任意文件泄露漏洞
  • PHP的JavaScript框架 PHP.JS
  • php通过socket_bind()设置IP地址代码示例
  • php服务器探针显示php服务器信息
  • php安装完成后如何添加mysql扩展
  • PHP缓存加速器 Alternative PHP Cache (APC)
  • PHP介绍及学习网站推荐
  • PHP源文件加密工具 PHP Screw
  • php中操作memcache的类及成员列表及php下如何连接memched服务器
  • PHP自动化测试 PHP-QAT
  • php中内置的mysql数据库连接驱动mysqlnd简介及mysqlnd的配置安装方式
  • PHP 的 HTTP 客户端库 PHP Buzz
  • php将标准字符串格式时间转换成unix时间戳_strtotime
  • PHP 调试工具 PHP_Dyn


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3