设为首页 收藏本站
查看: 1152|回复: 0

[经验分享] 记录PHP错误日志 display_errors与log_errors的区别

[复制链接]

尚未签到

发表于 2018-12-14 13:37:05 | 显示全部楼层 |阅读模式
  错误回显,一般常用语开发模式,但是很多应用在正式环境中也忘记了关闭此选项。错误回显可以暴露出非常多的敏感信息,为***者下一步***提供便利。推荐关闭此选项
  display_errors
  错误回显,一般常用语开发模式,但是很多应用在正式环境中也忘记了关闭此选项。错误回显可以暴露出非常多的敏感信息,为***者下一步***提供便利。推荐关闭此选项。
  display_errors = On
  开启状态下,若出现错误,则报错,出现错误提示
  dispaly_errors = Off
  关闭状态下,若出现错误,则提示:服务器错误。但是不会出现错误提示
  log_errors
  在正式环境下用这个就行了,把错误信息记录在日志里。正好可以关闭错误回显。
  对于PHP开发人员来说,一旦某个产品投入使用,那么第一件事就是应该将display_errors选项关闭,以免因为这些错误所透露的路径、数据库连接、数据表等信息而遭到******。
  某个产品投入使用后,难免会有错误信息,那么如何记录这些对开发人员非常有用的信息呢?
  将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
  复制代码 代码如下:
  


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-651398-1-1.html 上篇帖子: PHP课程总结20161215 下篇帖子: PHP错误日志
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表