本文小编为大家详细介绍“怎么让浏览器不提示PHP错误信息”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么让浏览器不提示PHP错误信息”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
一、在 PHP.ini 文件中禁止错误报告
PHP.ini 文件是 PHP 的配置文件,通过修改该文件可以控制 PHP 的行为。我们可以在 PHP.ini 文件中设置错误报告等级为 0 (关闭错误报告),这样在网页中就不会提示错误信息了。
打开 PHP.ini 文件,找到以下配置项:
; error_reporting
; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
; Development Value: E_ALL
; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
; http://php.net/error-reporting
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
将最后一行修改为:
error_reporting = 0
保存修改后,重启 Web 服务器即可生效。
二、使用 PHP 的错误控制运算符 @
PHP 的错误控制运算符 @ 可以将所有错误信息设置为静音(即不提示错误信息),可以在 PHP 脚本中使用该运算符来实现不提示错误信息的效果。
使用方法非常简单,只需要在 PHP 函数或变量前加上 @ 即可,如下所示:
@mysql_connect(...)
在使用该方法时,需要特别注意,如果您的代码存在严重的错误,运用该运算符进行修饰仅仅是遮盖了错误,但问题仍然存在,若因为该方法不定位错误导致在不知不觉中带来安全风险,则不可取。
三、使用 PHP.ini 文件中的 display_errors
开启 display_errors 选项,则 PHP 会在执行脚本过程中输出错误信息;关闭 display_errors 选项则隐藏所有错误信息,这样,我们就可以将无关紧要的错误信息隐藏起来,以避免误导用户。
我们可以通过 PHP.ini 文件来配置 display_errors 选项,可以设置将错误信息输出至日志文件,也可以直接关闭该选项,如下所示:
; 默认为 on,错误信息输出到用户端
display_errors = off
; 错误信息输出到文件
error_log = /var/log/php-error.log
以上代码就将 display_errors 选项关闭,并将错误信息输出到 /var/log/php-error.log 文件中。
注意:修改 PHP.ini 文件后需要重启 Web 服务器才能生效。
四、使用 PHP 的 error_reporting 函数
通过使用 error_reporting 函数,我们可以在脚本中动态配置错误报告等级,可以对部分代码进行关闭错误提醒,只设置对线上传来的错误信息进行记录以便进行排查,提高错误信息的排查效率。
error_reporting 函数的语法如下:
int error_reporting([int $level])
其中,$level 参数表示错误报告等级,可以设置为 0 表示关闭错误报告,也可以设置其他的值,表示设置特定的错误报告级别。