php开启错误提示(详解)

第一种方法:在php.ini文件里改变display_errors和error_reporting的值,没有的直接加上
display_errors = On
error_reporting = E_ALL | E_STRICT
然后:重启apache,结束。(有多个php版本的话,可能失败,原因请看第二种方法的解释)
解释:
 
 
display_errors 
错误回显,一般常用语开发模式,但是很多应用在正式环境中也忘记了关闭此选项。错误回显可以暴露出非常多的敏感信息,为攻击者下一步攻击提供便利。推荐关闭此选项。 
display_errors = On 
开启状态下,若出现错误,则报错,出现错误提示 
dispaly_errors = Off 
关闭状态下,若出现错误,则提示:服务器错误。但是不会出现错误提示 
error_reporting 可以设置的参数,如下:
错误报告是位字段。可以将数字加起来得到想要的错误报告等级。
E_ALL – 所有的错误和警告(不包括 E_STRICT)
E_ERROR – 致命性的运行时错误
E_WARNING – 运行时警告(非致命性错误)
E_PARSE – 编译时解析错误
E_NOTICE – 运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。)
E_STRICT – 编码标准化警告,允许PHP建议如何修改代码以确保最佳的互操作性向前兼容性。
E_CORE_ERROR – PHP启动时初始化过程中的致命错误
E_CORE_WARNING – PHP启动时初始化过程中的警告(非致命性错)
E_COMPILE_ERROR – 编译时致命性错
E_COMPILE_WARNING – 编译时警告(非致命性错)
E_USER_ERROR – 用户自定义的错误消息
E_USER_WARNING – 用户自定义的警告消息
E_USER_NOTICE – 用户自定义的提醒消息
第二种方法:在Apache的 httpd.conf文件里加上下面两句
php_flag display_errors on
php_value error_reporting 2039
然后:重启apache,结束。
解释:
依赖于 Apache 正在做的工作,在 PHP 中打开错误报告可能没法工作,因为在计算机上可能有多个 PHP 版本。
有时很难区分 Apache 正在使用哪个 PHP 版本,因为 Apache 只能查看一个 php.ini 文件。
不知道 Apache 正在使用哪个 php.ini 文件配置自己是一个安全问题。
但是,有一种方法可以在 Apache 中配置 PHP 变量,从而保证设置了正确的出错级别。

而且,最好知道如何在服务器端设置这些配置变量,以否决或抢占 php.ini 文件,从而提供更高级别的安全性。

要做在 php.ini 文件中已经做过的事,请把下列各行添加到 httpd.conf,覆盖任何 php.ini 文件:
php_flag display_errors on 
php_value error_reporting 2039 
这会覆盖在 php.ini 文件中为 display_errors 已经设置的标志,以及 error_reporting 的值。
值 2039 代表 E_ALL & ~E_NOTICE。
如果愿意采用 E_ALL,请把值设为 2047。
共勉~
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值