Ubuntu 系统开启 PHP 错误显示 display_errors 的完整配置指南
对于在 Ubuntu 环境下进行 PHP 开发的程序员而言,正确配置 display_errors 参数是提升调试效率的关键一步。启用此功能后,PHP 脚本的运行错误、警告和通知将直接显示在浏览器页面或命令行终端中,无需反复查阅日志文件,极大简化了问题排查流程。本文将提供一份详尽的操作教程,指导你如何在 Ubuntu 系统中安全、有效地开启 PHP 错误显示功能。

1. 确认当前 PHP 版本
开始配置前,首先需要明确系统中安装的 PHP 具体版本。Ubuntu 系统可能预装 PHP 7.x 或更新的 PHP 8.x 系列。执行以下命令即可快速查看:
php -v
2. 定位并编辑 PHP 配置文件
PHP 的核心行为由 php.ini 配置文件控制。在 Ubuntu 中,该文件通常位于 /etc/php/{版本号}/ 目录下。你需要根据 PHP 的运行方式选择正确的配置文件进行编辑:
- 命令行模式 (CLI):适用于在终端直接运行 PHP 脚本。编辑
/etc/php/{版本号}/cli/php.ini。 - PHP-FPM 模式:适用于与 Nginx 或 Apache 等 Web 服务器协同工作。编辑
/etc/php/{版本号}/fpm/php.ini。
以 PHP 7.4 版本为例,操作命令如下:
针对 CLI 模式配置:
sudo nano /etc/php/7.4/cli/php.ini
针对 PHP-FPM 模式配置:
sudo nano /etc/php/7.4/fpm/php.ini
请务必将上述命令中的 7.4 替换为你通过 php -v 查看到的实际版本号。
3. 启用 display_errors 错误显示
使用文本编辑器打开对应的 php.ini 文件后,通过搜索功能定位到以下配置行:
display_errors = Off
默认情况下,该选项为关闭状态。将其修改为开启:
display_errors = On
4. 设置错误报告级别(推荐)
仅开启显示错误还不够,你还需要定义 PHP 应报告哪些类型的错误。找到并调整错误报告级别设置:
error_reporting = E_ALL
将值设置为 E_ALL 可以确保报告所有错误、警告和严格标准提示,非常适合在开发阶段进行全面的代码审查。你也可以根据需求调整为其他级别,例如 E_ERROR | E_WARNING | E_PARSE。
5. 配置 PHP 错误日志记录(重要)
开启屏幕错误显示便于即时调试,但配置独立的错误日志则有利于长期的问题追踪与审计。建议同时启用错误日志功能。在配置文件中找到或添加以下两行:
log_errors = On
error_log = /var/log/php_errors.log
权限设置是关键:必须确保 PHP 进程(如 www-data 或 nginx 用户)拥有对你指定日志文件的写入权限。可按以下步骤创建并设置权限:
sudo touch /var/log/php_errors.log
sudo chown www-data:www-data /var/log/php_errors.log
sudo chmod 660 /var/log/php_errors.log
注意:示例中的 www-data 是 Apache 的默认运行用户。若你使用 Nginx,其用户通常为 nginx,请根据你的 Web 服务器环境进行相应替换。
6. 重启服务使配置生效
修改配置文件后,必须重启相关的 Web 服务和 PHP 处理进程,新的设置才能被加载。
对于 Apache 服务器:
sudo systemctl restart apache2
对于 Nginx 配合 PHP-FPM:
sudo systemctl restart php7.4-fpm
sudo systemctl restart nginx
再次强调,请将 7.4 替换为你的实际 PHP 版本号。
7. 验证配置是否成功
要确认 display_errors 等配置已生效,最直接的方法是使用 phpinfo() 函数。
在你的网站根目录(例如 /var/www/html/)下创建一个测试文件,如 test_info.php,内容如下:
随后,通过浏览器访问 https://你的服务器IP或域名/test_info.php。在生成的 PHP 信息页面中,搜索“display_errors”和“error_reporting”字段,检查其当前值是否已更新为你所设置的状态。
关键安全注意事项
在享受便捷调试的同时,务必牢记以下安全准则:
- 区分开发与生产环境:
display_errors = On仅限在开发、测试环境中使用。在线上生产服务器上,必须将其设置为Off,以防止敏感的路径信息、数据库连接细节或代码片段泄露给网站访客。在生产环境中,应保持log_errors = On,将错误信息安全地记录到日志文件中供管理员分析。 - 严格管理日志文件权限:错误日志文件本身包含敏感信息。务必按照步骤5中的方法,为其设置严格的访问权限(如 660),并确保其所有者是相应的 Web 服务运行用户,避免未授权访问。
遵循本指南的步骤,你即可在 Ubuntu 系统中成功配置 PHP 的错误显示与日志记录功能,从而构建一个更高效、更安全的 PHP 应用开发与调试环境。
