记录错误日志display_errors和log_errors之间的差异
错误返回,常见的语言开发模式,但许多应用程序忘记在正式环境中关闭此选项。错误恢复暴露了大量敏感信息,为攻击者的下一次攻击提供了便利。建议关闭此选项。
在display_errors =
在开放状态下,如果出现错误,则报告错误并出现虚假提示。
dispaly_errors =关闭
在关闭状态下,如果出现错误,则提示:服务器出错,但不会有错误提示。
log_errors
在正式环境中使用它,并在日志中记录错误信息。
PHP开发人员,产品一旦投入使用,要做的第一件事是关闭display_errors选项以便不被黑客所攻击的路径、数据库连接、数据表等信息。
当一个产品投入使用时,不可避免地会有错误的信息。那么如何将这些有用的信息记录给开发人员呢
打开PHP的log_errors,和默认的是登录到Web服务器的日志文件,如Apache的error.log文件。
当然,错误日志也可以记录到指定的文件中。
复制代码代码如下所示:
# VIM / / php.inidisplay_errors =关闭等
在log_errors =
error_log = / / / php-error.log VaR的日志
它也可以设置error_log = syslog记录这些错误信息到操作系统日志。
display_errors =关闭 / /显示中文意思是指display_error =关闭的意思是不显示的错误!
error_reporting套错误消息返回的水平
2047我记得那是e_all。
有许多在php.ini文件中的配置设置。你应该建立自己的php.ini文件放在相应的目录中,就像安装PHP和Apache 2的Linux,在文档中显示。当你调试PHP应用程序,你应该知道两个配置变量。这里有两个变量和它们的默认值:
display_errors =关闭 / /关闭所有的错误消息,以显示所有错误的信息。
error_reporting = e_all
e_all可以从糟糕的代码实践无害的提示信息都是企业发展过程中的wrong.e_all太细,因为它是屏幕上的一些东西(如未初始化的变量)也显示,输出会搞糟浏览器
所以这是不推荐使用2047,最好是改变默认值:error_reporting = e_all ~ e_notice
PHP.ini display_errors =关闭失败的解决方案
问题:
PHP设置文件php.ini已经display_errors =关闭,但在运行的过程中,会出现在网页上的错误信息。
解决uff1a
对log_errors =调查,按照官方的说法,当log_errors设置,您必须指定error_log文件,如果没有指定或没有权限写入指定的文件,然后输出到输出通道仍然是正常的,那么就display_errors指定了失败,错误信息或打印出来。所以log_errors =关闭,问题就解决了。
error_reporting(7)通常被看作是:设置错误信息的收益水平。
定值
1 e_error
2 e_warning
4 e_parse
8 e_notice
16 e_core_error
32 e_core_warning
64 e_compile_error
128 e_compile_warning
256 e_user_error
512 e_user_warning
1024 e_user_notice
2047 e_all
2048 e_strict
但是,7 = 1 + 2 + 4
这是1 e_error 2 e_warning 4 e_parse当它是错的
复制代码代码如下所示:
< PHP
禁用错误报告
(0)error_reporting;
报表运行时错误
error_reporting(e_error e_warning e_parse | |);
所有错误报告
error_reporting(e_all);
>