修改php.ini以达到屏蔽错误信息并记录日志


Posted in PHP onJune 16, 2013

那是因为php.ini中关闭了错误显示,将错误写成了文件,这是人为设置的结果,display_errors =on就好了。
不过不显示错误倒安全点,建议调试时打开,然后提供服务时关闭。

提供一点资料给你:

display_errors = On

php缺省是打开错误信息显示的,我们把它改为:

display_errors = Off

关闭错误显示后,php函数执行错误的信息将不会再显示给用户,这样能在一定程度上防止攻击者从错误信息得知脚本的物理位置,以及一些其它有用的信息,起码给攻击者的黑箱检测造成一定的障碍。这些错误信息可能对我们自己有用,可以让它写到指定文件中去,那么修改以下:

log_errors = Off

改为:

log_errors = On

以及指定文件,找到下面这行:

;error_log = filename

去掉前面的;注释,把filename改为指定文件,如/usr/local/apache/logs/php_error.log

error_log = /usr/local/apache/logs/php_error.log

这样所有的错误都会写到php_error.log文件里。

====================================

error_reporting
配置错误信息回报的等级。
语法: int error_reporting(int [level]);
返回值: 整数
函数种类: PHP 系统功能

本函数用来配置错误信息回报的等级,参数 level 是一个整数的位遮罩 (bitmask),见下表。
遮罩值 表示名称
1 E_ERROR
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING

E_NOTICE 表示一般情形不记录,只有程序有错误情形时才用到,例如企图存取一个不存在的变量,或是呼叫 stat() 函数检视不存在的文件。
E_WARNING 通常都会显示出来,但不会中断程序的执行。这对除错很有效。例如:用有问题的正则表达式呼叫 ereg()。
E_ERROR 通常会显示出来,亦会中断程序执行。意即用这个遮罩无法追查到内存配置或其它的错误。
E_PARSE 从语法中解析错误。
E_CORE_ERROR 类似 E_ERROR,但不包括 PHP 核心造成的错误。
E_CORE_WARNING 类似 E_WARNING,但不包括 PHP 核心错误警告。
————————————
额外:
1.
php文件中
error_reporting(7) 其中的7 就是 1+2+4,也就是回报 1 E_ERROR 2 E_WARNING 4 E_PARSE
2.
php.ini中
display_errors = Off //默认是关闭错误提示
error_reporting = E_ALL //显示从不良编码实践到无害提示到出错的所有信息,由于回报的信息太细化了,包括了无害信息,为了在开发过程中能看到实际的提示,建议配置为 error_reporting = E_ALL & ~E_NOTICE

PHP 相关文章推荐
PHP生成静态页面详解
Dec 05 PHP
dedecms 制作模板中使用的全局标记图文教程
Mar 11 PHP
使用PHP批量生成随机用户名
Jul 10 PHP
ie6 动态缩略图不显示的原因
Jun 21 PHP
PHP include_path设置技巧分享
Jul 03 PHP
Zend Framework教程之Zend_Layout布局助手详解
Mar 04 PHP
PHP类相关知识点实例总结
Sep 28 PHP
PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法
Jun 20 PHP
Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作
Jun 30 PHP
thinkPHP5框架自定义验证器实现方法分析
Jun 11 PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
Apr 27 PHP
PHP 实现缩略图
Mar 09 PHP
php fsockopen伪造post与get方法的详解
Jun 14 #PHP
探讨:parse url解析URL,返回其组成部分
Jun 14 #PHP
PHP可变函数的使用详解
Jun 14 #PHP
VIM中设置php自动缩进为4个空格的方法详解
Jun 14 #PHP
探讨:如何通过stats命令分析Memcached的内部状态
Jun 14 #PHP
利用curl 多线程 模拟 并发的详解
Jun 14 #PHP
修改php.ini不生效问题解决方法(上传大于8M的文件)
Jun 14 #PHP
You might like
图象函数中的中文显示
2006/10/09 PHP
php读取本地文件常用函数(fopen与file_get_contents)
2013/09/09 PHP
Server.HTMLEncode让代码在页面里显示为源代码
2013/12/08 PHP
Yii扩展组件编写方法实例分析
2015/06/29 PHP
php array_map使用自定义的函数处理数组中的每个值
2016/10/26 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
奇妙的js
2007/09/24 Javascript
JavaScript 数组运用实现代码
2010/04/13 Javascript
基于React.js实现原生js拖拽效果引发的思考
2016/03/30 Javascript
springMVC结合AjaxForm上传文件
2016/07/12 Javascript
使用bat打开多个cmd窗口执行gulp、node
2017/02/17 Javascript
老生常谈javascript的面向对象思想
2017/08/22 Javascript
浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题
2017/09/02 Javascript
JS处理一些简单计算题
2018/02/24 Javascript
Vue利用canvas实现移动端手写板的方法
2018/05/03 Javascript
node puppeteer(headless chrome)实现网站登录
2018/05/09 Javascript
在Mac下彻底卸载node和npm的方法
2018/05/16 Javascript
react native 文字轮播的实现示例
2018/07/27 Javascript
详解在vue-test-utils中mock全局对象
2018/11/07 Javascript
微信小程序完美解决scroll-view高度自适应问题的方法
2020/08/08 Javascript
Python优化技巧之利用ctypes提高执行速度
2016/09/11 Python
详解python进行mp3格式判断
2016/12/23 Python
python 删除指定时间间隔之前的文件实例
2018/04/24 Python
Python OpenCV之图片缩放的实现(cv2.resize)
2019/06/28 Python
Python3 JSON编码解码方法详解
2019/09/06 Python
Python: 传递列表副本方式
2019/12/19 Python
Python如何实现邮件功能
2020/05/27 Python
CSS3制作圆形滚动进度条动画的示例
2020/11/05 HTML / CSS
美国美食礼品篮网站:Gourmet Gift Baskets
2019/12/15 全球购物
Internet体系结构
2014/12/21 面试题
上海中网科技笔试题
2012/02/19 面试题
委托证明的格式
2014/01/10 职场文书
体现团队精神的口号
2014/06/06 职场文书
违章停车检讨书
2014/10/21 职场文书
2016年幼儿园庆六一开幕词
2016/03/04 职场文书
创业计划书之小型广告公司
2019/10/22 职场文书