当PHP代码出现错误时,默认情况下,PHP会自动隐藏错误信息,以保护服务器的安全。但有时候,开发人员需要看到完整的错误信息,以便更快地定位和解决问题。下面是完整的攻略过程。
步骤一:开启错误级别显示
PHP有多个错误级别,可以通过设置php.ini文件中的error_reporting参数来设置。我们可以如下修改php.ini文件(以Linux系统为例):
sudo vi /etc/php/7.2/apache2/php.ini
在该文件中搜索error_reporting参数,将其设置为E_ALL,即显示最严重的错误和警告信息。
error_reporting = E_ALL
保存退出文件。
步骤二:设置显示错误信息
在php.ini文件直接开启报错信息的情况下,PHP只会将错误信息记录在日志中,而不会在页面上显示。因此,我们需要创建一个php脚本,手动开启错误信息在页面上的显示。
在需要查看错误信息的php文件的顶部添加代码:
ini_set('display_errors', 'On');
这行代码将开启PHP报错信息的直接显示。
示例一
下面是一个示例脚本,演示如何在页面上显示PHP错误信息。
<?php
// 开启显示错误
ini_set('display_errors', 'On');
// 尝试访问一个不存在的变量
echo $undefinedVariable;
?>
在运行此脚本时,PHP会提示出错信息:
Notice: Undefined variable: undefinedVariable in /var/www/html/index.php on line 4
示例二
为了更加安全地控制错误信息显示,我们可以只在开发环境中开启显示错误信息的功能,而在部署生产环境时关闭报错信息的显示,防止错误信息对用户造成困扰。
在生产环境中,我们需要在php.ini文件中阻止错误信息的显示。在某些共享主机上,您可能无法访问该文件。您可以在php脚本中添加以下代码来关闭错误信息的显示:
ini_set('display_errors', 'Off');
在开发环境中,我们必须开启错误信息的显示,以便及时找到和解决问题。在此情况下,我们可以创建一个单独的文件,例如.env,用于存储当前环境是开发环境还是生产环境。如果当前环境为开发环境时,我们可以在需要调试的php文件页面的顶部添加以下代码:
if (file_exists('.env') && trim(file_get_contents('.env') == 'development')) {
ini_set('display_errors', 'On');
}
这段代码会读取.env文件,并检查当前环境是否为开发环境。如果是,就会开启错误信息的显示。否则,错误信息将不会显示在页面上。
上面是本次回答完整攻略的所有内容,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP运行时强制显示出错信息的代码 - Python技术站