修改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教程 基本语法
Oct 23 PHP
php数组函数序列之in_array() 查找数组值是否存在
Oct 29 PHP
Could not load type System.ServiceModel.Activation.HttpModule解决办法
Dec 29 PHP
php二维数组转成字符串示例
Feb 17 PHP
php表单请求获得数据求和示例
May 15 PHP
单台服务器的PHP进程之间实现共享内存的方法
Jun 13 PHP
CodeIgniter模板引擎使用实例
Jul 15 PHP
php中使用url传递数组的方法
Feb 11 PHP
PHP QRCODE生成彩色二维码的方法
May 19 PHP
php实现等比例不失真缩放上传图片的方法
Nov 14 PHP
Laravel中10个有用的用法小结
May 06 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
Feb 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 && 逻辑与运算符使用说明
2010/03/04 PHP
超小PHP小马小结(方便查找后门的朋友)
2012/05/05 PHP
详解WordPress中添加友情链接的方法
2016/05/21 PHP
PHP PDOStatement::errorInfo讲解
2019/01/31 PHP
php探针使用原理和技巧讲解
2019/09/17 PHP
Javascript学习笔记1 数据类型
2010/01/11 Javascript
JavaScript获取页面上某个元素的代码
2011/03/13 Javascript
在JavaScript中监听IME键盘输入事件
2011/05/29 Javascript
JavaScript下通过的XMLHttpRequest发送请求的代码
2011/06/28 Javascript
处理及遍历XML文档DOM元素属性及方法整理
2013/08/23 Javascript
使用 Node.js 做 Function Test实现方法
2013/10/25 Javascript
js弹窗返回值详解(window.open方式)
2014/01/11 Javascript
jquery列表拖动排列(由项目提取相当好用)
2014/06/17 Javascript
在Mac OS下使用Node.js的简单教程
2015/06/24 Javascript
jQuery实现向下滑出的平滑下拉菜单效果
2015/08/21 Javascript
Bootstrap编写导航栏和登陆框
2016/05/30 Javascript
JS常见创建类的方法小结【工厂方式,构造器方式,原型方式,联合方式等】
2017/04/01 Javascript
AngularJS动态绑定ng-options的ng-model实例代码
2017/06/21 Javascript
mongoose设置unique不生效问题的解决及如何移除unique的限制
2017/11/07 Javascript
深入理解Vue nextTick 机制
2018/04/28 Javascript
微信小程序修改数组长度的问题的解决
2019/12/17 Javascript
python实现中文转换url编码的方法
2016/06/14 Python
Python爬虫DOTA排行榜爬取实例(分享)
2017/06/13 Python
Matplotlib自定义坐标轴刻度的实现示例
2020/06/18 Python
葡萄牙鞋子品牌:Fair
2016/12/10 全球购物
自我鉴定怎么写
2013/12/05 职场文书
高中同学聚会邀请函
2014/01/11 职场文书
家长评语大全
2014/01/22 职场文书
孝老爱亲模范事迹
2014/01/24 职场文书
活动总结报告范文
2014/05/04 职场文书
房产协议书范本
2014/10/18 职场文书
幼儿园大班个人总结
2015/02/28 职场文书
2016五一劳动节慰问信
2015/11/30 职场文书
详解CSS中的特指度和层叠问题
2021/07/15 HTML / CSS
一些让Python代码简洁的实用技巧总结
2021/08/23 Python
Nginx反向代理、重定向
2022/04/13 Servers