php 隐藏所有错误[重复]

问题描述 投票:0回答:7

隐藏all php 错误的最佳实践是什么?因为我不想向用户显示错误。

我已经尝试通过将代码

.htacess
放在那里来使用
php_flag display_errors off
,但它返回给我一个
500 error
.

还有其他方法可以隐藏all 错误吗?

php apache security
7个回答
97
投票

PHP 有一个专门用于此的配置指令,称为

display_errors
与任何其他配置设置一样,最好在
php.ini
中设置。但如果您无权访问此文件,您可以在 PHP 代码中正确设置它

隐藏所有错误:

ini_set('display_errors', 0);

显示所有错误:

ini_set('display_errors', 1);

虽然经常被错误地认为是隐藏错误的

ERROR_REPORTING
值应该一直保持在
E_ALL
,这样错误就可以记录在服务器上。


10
投票

根据 PHP 文档,将其放在 PHP 脚本的顶部:

<?php ini_set('display_errors', 0); ?>

如果你确实隐藏了你的错误,你应该在一个实时环境中,确保你在某处记录任何错误。 如何将错误和警告记录到文件中? 否则,事情会出错,您将不知道为什么。


3
投票

只对用户隐藏错误 但在 apache 日志中显示日志错误

error_reporting(E_ALL);
ini_set('display_errors', 0);

1 - 仅在日志中显示错误
2 - 对用户隐藏


3
投票

在您的 php 文件中,只需输入以下代码:

ini_set('display_errors', 0);

这将不会向用户报告任何错误。如果您有某种需要,请对此发表评论。


0
投票

使用PHP错误处理函数来处理错误。你怎么做取决于你的需要。该系统将拦截所有错误并根据需要转发它或者如果您要求它这样做则抑制它

http://php.net/manual/en/book.errorfunc.php


-1
投票

您需要编辑

php.ini
文件。

有一节关于错误处理和日志记录。你应该仔细阅读它,然后设定你的价值观。

如果想不加区别地隐藏所有值,可以设置报错为none:

error_reporting = ~E_ALL


-1
投票

最好的方法是以不会产生任何错误的方式构建脚本!当有什么东西可以创建通知或错误时,您的脚本以及变量和环境的检查有问题!

如果你想隐藏它们:

ini_set('display_errors', 0);

© www.soinside.com 2019 - 2024. All rights reserved.