修改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 和 COM
Oct 09 PHP
php 多个submit提交表单 处理方法
Jul 07 PHP
Linux下将excel数据导入到mssql数据库中的方法
Feb 08 PHP
PHP 冒泡排序算法的实现代码
Aug 08 PHP
php性能优化分析工具XDebug 大型网站调试工具
May 22 PHP
PHP自定义大小验证码的方法详解
Jun 07 PHP
php格式化日期和时间格式化示例分享
Feb 24 PHP
PHP数据库操作之基于Mysqli的数据库操作类库
Apr 19 PHP
Yii入门教程之Yii安装及hello world
Nov 25 PHP
php实现的redis缓存类定义与使用方法示例
Aug 09 PHP
Laravel 集成微信用户登录和绑定的实现
Dec 27 PHP
php让json_encode不自动转义斜杠“/”的方法
Apr 27 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
咖啡豆的最常见发酵处理方法,详细了解一下
2021/03/03 冲泡冲煮
一个简洁的PHP可逆加密函数(分享)
2013/06/06 PHP
php 模拟 asp.net webFrom 按钮提交事件实例
2014/10/13 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
2015/09/14 PHP
thinkPHP5框架闭包函数与子查询传参用法示例
2018/08/02 PHP
php实现小程序支付完整版
2018/10/09 PHP
豆瓣网的jquery代码实例
2008/06/15 Javascript
JavaScript null和undefined区别分析
2009/10/14 Javascript
jQuery 1.4 15个你应该知道的新特性(译)
2010/01/24 Javascript
jQuery源码分析-05异步队列 Deferred 使用介绍
2011/11/14 Javascript
javascript淘宝主图放大镜功能
2016/10/20 Javascript
微信小程序的分类页面制作
2017/06/27 Javascript
如何理解Vue的.sync修饰符的使用
2017/08/17 Javascript
vue2实现搜索结果中的搜索关键字高亮的代码
2018/08/29 Javascript
在Vuex使用dispatch和commit来调用mutations的区别详解
2018/09/18 Javascript
浅谈目前可以使用ES10的5个新特性
2019/06/25 Javascript
详解vue组件之间的通信
2020/08/30 Javascript
vue 公共列表选择组件,引用Vant-UI的样式方式
2020/11/02 Javascript
python 快速排序代码
2009/11/23 Python
python统计文本文件内单词数量的方法
2015/05/30 Python
使用Python的Twisted框架编写非阻塞程序的代码示例
2016/05/25 Python
Python编写Windows Service服务程序
2018/01/04 Python
Python实现k-means算法
2018/02/23 Python
python3 线性回归验证方法
2019/07/09 Python
让IE9以下版本的浏览器兼容HTML5的方法
2014/03/12 HTML / CSS
网络安全方面的面试题
2015/11/04 面试题
优秀员工个人的自我评价
2013/11/29 职场文书
文明寄语大全
2014/04/11 职场文书
小学生优秀评语
2014/12/29 职场文书
班级元旦晚会开幕词
2015/01/29 职场文书
个性发展自我评价2015
2015/03/09 职场文书
大学生青年志愿者活动总结
2015/05/06 职场文书
药品销售员2015年终工作总结
2015/10/22 职场文书
Web前端:CSS最强总结 附详细代码
2021/03/31 HTML / CSS
redis实现共同好友的思路详解
2021/05/26 Redis
python实现简单的三子棋游戏
2022/04/28 Python