怎么让php不先显示警告
时间 : 2023-04-01 01:44:02声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

在PHP中,可以通过设置error_reporting和display_errors来控制是否显示警告信息。

1. error_reporting

error_reporting函数可以决定显示哪些级别的错误。可以将它设置为一个数值或者一个常量表示您想要显示的错误级别。

例如,以下代码将只显示E_ERROR或E_RECOVERABLE_ERROR级别的错误:

```php

error_reporting(E_ERROR | E_RECOVERABLE_ERROR);

这意味着,将不会显示E_NOTICE和E_WARNING级别的警告信息。

2. display_errors

display_errors决定是否在网页上输出警告信息。当它被设置为off时,错误信息将不会被显示在屏幕上。

您可以通过将它设置为1来开启警告信息的输出:

```php

ini_set('display_errors', 1);

但是,在生产环境下,应该始终将该选项设置为off,以防止泄露敏感信息。

3. 错误日志记录

无论您是否选择在页面上显示警告信息,建议您总是将错误记录到日志文件中。这通常比在页面上显示错误信息更安全,并且能够更好地维护您的代码。

可以使用error_log函数来记录错误信息。例如,以下代码将错误信息记录到名为error.log的文件中:

```php

error_log("Error: Something went wrong", 3, "/var/log/error.log");

在使用这种方法之前,确保您有权限将错误日志写入所选目录。

总之,在开发过程中,允许在页面上显示警告信息会有所帮助,但在生产环境中,应该始终避免显示警告信息。并且应该使用错误日志来记录任何错误,以保障应用的安全性和可维护性。

如果你想在 PHP 中关闭警告的显示,可以使用以下方法之一:

1. 在 PHP 文件的开头添加以下代码:

error_reporting(0);

这将禁止所有警告和错误的显示,包括 E_NOTICE 级别的警告。

2. 在 PHP.INI 配置文件中设置错误报告级别:

error_reporting = E_ALL & ~E_WARNING & ~E_NOTICE

这个选项将禁用 E_WARNING 和 E_NOTICE 级别的警告。

需要注意的是,关闭警告的显示可能会隐藏一些潜在的问题,因此只应该在生产环境中使用此方法。在开发阶段中,建议设置合适的错误报告级别,以便及时发现并修复问题。