修改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生成随机密码的三种方法小结
Sep 04 PHP
linux系统上支持php的 iconv()函数的方法
Oct 01 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
Mar 24 PHP
基于PHP实现的事件机制实例分析
Jun 18 PHP
php文件操作相关类实例
Jun 18 PHP
php实现网页缓存的工具类分享
Jul 14 PHP
详谈PHP编码转换问题
Jul 28 PHP
PHP简单判断手机设备的方法
Aug 23 PHP
浅谈PHP拦截器之__set()与__get()的理解与使用方法
Oct 18 PHP
iis6手工创建网站后无法运行php脚本的解决方法
Jun 08 PHP
php和asp语法上的区别总结
May 12 PHP
php判断IP地址是否在多个IP段内
Aug 18 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
php中的一些数组排序方法分享
2012/07/20 PHP
PHP的魔术常量__METHOD__简介
2014/07/08 PHP
php替换字符串中间字符为省略号的方法
2015/05/04 PHP
Yii基于CActiveForm的Ajax数据验证用法示例
2016/07/14 PHP
PHP8.0新功能之Match表达式的使用
2020/07/19 PHP
AJAX架构之Dojo篇
2007/04/10 Javascript
JavaScript中的闭包原理分析
2010/03/08 Javascript
js中widow.open()方法使用详解
2013/07/30 Javascript
jquery简单实现外部链接用新窗口打开的方法
2015/05/30 Javascript
Js与Jq获取浏览器和对象值的方法
2016/03/18 Javascript
使用Object.defineProperty实现简单的js双向绑定
2016/04/15 Javascript
javascript html5摇一摇功能的实现
2016/04/19 Javascript
浅谈JavaScript 覆盖原型以及更改原型
2016/08/31 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图的组合双轴图效果示例【附demo源码下载】
2017/03/09 Javascript
关于layui时间回显问题的解决方法
2019/09/24 Javascript
用云开发Cloudbase实现小程序多图片内容安全监测的代码详解
2020/06/07 Javascript
python进阶教程之循环相关函数range、enumerate、zip
2014/08/30 Python
python分析网页上所有超链接的方法
2015/05/08 Python
Python字典简介以及用法详解
2016/11/15 Python
Python处理Excel文件实例代码
2017/06/20 Python
Python实现的凯撒密码算法示例
2018/04/12 Python
浅谈python中字典append 到list 后值的改变问题
2018/05/04 Python
python遍历文件夹找出文件夹后缀为py的文件方法
2018/10/21 Python
Python @property装饰器原理解析
2020/01/22 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
2020/02/27 Python
Python实现Excel自动分组合并单元格
2021/02/22 Python
使用canvas实现黑客帝国数字雨效果
2020/01/02 HTML / CSS
英国索普公园票务和酒店套餐:Thorpe Breaks
2019/09/14 全球购物
Linux如何为某个操作添加别名
2015/02/05 面试题
学生会竞选自荐信
2013/10/12 职场文书
参观监狱心得体会
2014/01/02 职场文书
邮政员工辞职信
2014/01/16 职场文书
新闻编辑专业自荐信
2014/07/02 职场文书
普通党员群众路线教育实践活动心得体会
2014/11/04 职场文书
2016年感恩教师节校园广播稿
2015/12/18 职场文书
Win11 Beta 22621.601 和 22622.601今日发布 KB5017384修复内容汇总
2022/09/23 数码科技