📅  最后修改于: 2023-12-03 15:26:19.898000             🧑  作者: Mango
在 PHP 开发过程中,我们常常需要查看应用程序是否存在错误。然而,PHP 默认情况下并不会在页面上显示错误信息,而是会将错误信息写入服务器的错误日志文件中。因此,开发者需要在调试过程中手动打开 PHP 错误输出功能,以便查看应用程序的错误信息。
开启 PHP 错误输出的方式有两种:
php.ini
配置文件在 php.ini
文件中找到以下两行代码并将注释符号(;
)去掉:
display_errors = On
error_reporting = E_ALL
如果要在开发环境和生产环境中使用不同的设置,则可以通过在 php.ini
文件中添加以下代码来指定不同的错误输出级别:
; 开发环境
error_reporting = E_ALL
display_errors = On
; 生产环境
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = Off
log_errors = On
ini_set()
函数除了在 php.ini
文件中设置错误输出选项外,我们还可以在 PHP 脚本中使用 ini_set()
函数来动态地修改 PHP 错误输出选项。以下是一个示例:
<?php
// 开启错误输出
ini_set('display_errors', 'On');
ini_set('error_reporting', E_ALL);
在 PHP 中,错误输出的级别有多个。以下是一些常用的错误输出级别:
E_ERROR
:致命错误,会导致脚本终止执行E_WARNING
:非致命错误,会显示错误信息但不会终止脚本执行E_NOTICE
:提示消息,用于提醒开发者注意某些情况E_DEPRECATED
:已废弃的代码,用于提示开发者某些代码已经过时,不建议继续使用E_STRICT
:不严格的代码标准,用于提示开发者一些代码不符合 PHP 标准在打开 PHP 错误输出功能后,我们可以在浏览器上直接查看错误信息。此外,我们还可以通过以下代码在 PHP 脚本中获取错误信息:
<?php
// 开启错误输出
ini_set('display_errors', 'On');
ini_set('error_reporting', E_ALL);
// 产生一个错误
$data = array(1, 2, 3);
echo $data[3];
以上代码将产生一个 E_NOTICE
级别的错误,并提示 $data[3]
未定义。如果我们希望在脚本中捕获错误信息,可以使用 error_get_last()
函数来获取最后产生的错误信息:
<?php
// 开启错误输出
ini_set('display_errors', 'On');
ini_set('error_reporting', E_ALL);
// 产生一个错误
$data = array(1, 2, 3);
echo $data[3];
// 获取最后一个错误信息
$error = error_get_last();
if ($error !== null) {
echo $error['message'];
}
以上代码将输出以下内容:
Undefined offset: 3
打开 PHP 错误输出功能可以帮助开发者轻松地调试 PHP 应用程序,并快速定位程序中的错误。简单修改 php.ini
文件或使用 ini_set()
函数即可打开 PHP 错误输出。在开发过程中,需要时刻关注错误输出信息,并及时修复错误。