在 php.ini 中切换错误

我们选择如何控制错误通常并不重要,但从 PHP 中执行此操作对其他开发人员更友好,因为他们将更容易进行更改。

有时从 php.ini 中禁用错误可能更有意义,而不是尝试从单个 PHP 脚本打开/关闭错误。
建议在生产环境中禁用错误,只在开发时启用它们。
开发人员应该完全控制他们的开发环境,因此最好控制来自单个脚本或者直接来自 php.ini 的错误报告——尽可能避免使用 htaccess。

如果我们已经知道其中可以找到 php.ini ,我们可以跳到第 2 步。

1.错误可以通过调整php.ini文件中的相关设置来切换——难点是找到正确的.ini文件进行编辑。

PHP 通常会安装多个版本;这可能在更新后发生,例如,可能会导致同时安装 PHP 7.3 和 PHP 7.4.
我们需要更改的文件通常是最新版本;但有时 PHP-FPM 可能无法加载正确的版本——这是一个单独的问题,我不会在本文中解释如何修复。

但是,如何处理它主要取决于我们如何安装 PHP 以及我们使用的操作系统。
对于基于 Debian 和 Ubuntu 的 Linux 发行版,php.ini 文件可能位于 /etc/php/7.4/apache2/(如果使用 Apache 模块)或者 /etc/php/7.4/fpm/(如果使用 PHP-FPM)。

如果我们无法找到正确的文件,我们可以创建一个包含以下内容的脚本:

<?php
  phpinfo();

在浏览器中打开该文件并在页面上搜索“php.ini”。
它应该位于表的“加载的配置文件”行中。

  1. 找到文件后,我们可以更改以下值以启用错误:
display_errors = on
display_startup_errors = on
error_reporting = E_ALL

或者,如果我们想禁用错误:

display_errors = off
display_startup_errors = off
error_reporting = -1

使用 htaccess

如果我们使用的是 Apache HTTP 服务器,我们还可以切换 .htaccess 文件中的错误。
通常建议在服务器配置中禁用 htaccess 以加快服务器速度,但这对大多数人来说可能并不重要。

从 htaccess 切换 PHP 错误是在要更改的 php.ini 选项前使用 php_flag 完成的。

要打开 htaccess 中的错误:

php_flag display_startup_errors on
php_flag display_errors on

并关闭 htaccess 中的错误:

php_flag display_startup_errors off
php_flag display_errors off

使用 htaccess 不容易控制错误报告级别。

在 PHP 中隐藏或者显示错误消息

有几种方法可以控制 PHP 脚本的错误报告;通常,我们只需在 php.ini 中配置如何处理错误,但也可以启用和禁用来自单个 PHP 脚本的错误。

error_reporting 函数控制错误报告的级别;我们可以使用值的组合或者单个值。
可能的选项包括:

  • E_ALL
  • E_NOTICE
  • E_WARNING
  • E_STRICT

要禁用 PHP 脚本中的错误,我们可以将以下内容放在顶部的某个位置:

ini_set('display_errors', 0);
ini_set('display_startup_errors', 0);
error_reporting(-1);

使用自定义错误处理程序时应禁用错误。

要启用错误,我们可以改为使用以下内容:

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

当使用值的组合时,每个值应该用竖线 (|) 字符分隔:

error_reporting(E_NOTICE | E_WARNING);

最后,要仅排除单个错误类型,请在要排除的类型前使用波浪号 (~) 字符:

error_reporting(~E_WARNING);
日期:2020-06-02 22:15:46 来源:oir作者:oir