Ubuntu系统配置PHP错误显示方法
在 Ubuntu 上配置 PHP 的 display_errors 对于开发者来说,在 Ubuntu 上配置 PHP 的 display_errors 功能,是调试过程中一个非常实用的技巧。它能让你在开发阶段,直接在浏览器或命令行中看到错误信息,省去反复查看日志的麻烦。下面这份详细的步骤指南,能帮你
在 Ubuntu 上配置 PHP 的 display_errors
对于开发者来说,在 Ubuntu 上配置 PHP 的 display_errors 功能,是调试过程中一个非常实用的技巧。它能让你在开发阶段,直接在浏览器或命令行中看到错误信息,省去反复查看日志的麻烦。下面这份详细的步骤指南,能帮你快速搞定这件事。

1. 确认 PHP 版本
第一步,得先搞清楚你系统里跑的是哪个版本的 PHP。Ubuntu 默认通常会安装 PHP 7.x 或 8.x 系列,想知道具体版本?一条命令就能解决:
php -v
2. 编辑 PHP 配置文件
接下来,找到 PHP 的“大脑”——配置文件。它通常位于 /etc/php/{version}/ 目录下。这里有个关键点:你需要根据 PHP 的运行模式来选择对应的文件。
- 如果你在命令行(CLI)模式下使用 PHP,就编辑
/etc/php/{version}/cli/php.ini。 - 如果通过 PHP-FPM 配合 Web 服务器(如 Nginx)使用,则需要编辑
/etc/php/{version}/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 替换成你查到的实际版本号。
3. 修改 display_errors 设置
打开配置文件后,用搜索功能找到下面这行:
display_errors = Off
它的默认状态通常是关闭的。现在,把它改成:
display_errors = On
4. 配置错误报告级别(可选)
光打开错误显示还不够,你还可以决定让 PHP 报告哪些级别的错误。找到下面这行配置:
error_reporting = E_ALL
将值设置为 E_ALL 意味着报告所有错误、警告和提示,这对于深度调试非常有用。如果只想关注致命错误,也可以设置为 E_ERROR 等其他级别。
5. 配置错误日志(可选)
把错误显示出来方便即时调试,但把错误记录下来则更利于长期追踪和管理。强烈建议你同时启用错误日志。找到并修改这两行:
log_errors = On
error_log = /var/log/php_errors.log
这里有个细节需要注意:必须确保 PHP 进程有权限写入你指定的日志文件路径。如果文件不存在,可以手动创建并设置权限:
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,请根据实际情况替换。
6. 重启 Web 服务器和 PHP-FPM(如果适用)
配置文件改好了,但服务还没“知道”这些变化。所以,必须重启相关服务让新配置生效。
如果你用的是 Apache:
sudo systemctl restart apache2
如果你用的是 Nginx 搭配 PHP-FPM:
sudo systemctl restart php7.4-fpm
sudo systemctl restart nginx
再次提醒,将 7.4 替换为你的实际 PHP 版本。
7. 验证配置
怎么确认配置真的生效了?一个经典的方法是使用 phpinfo() 函数。
在你的网站根目录(比如 /var/www/html/)下创建一个文件,例如叫 info.php,内容如下:
然后,通过浏览器访问 http://你的服务器地址/info.php。在打开的详细信息页面里,搜索“display_errors”,确认它的状态已经变成了“On”。
注意事项
最后,有两点至关重要的安全提醒:
- 生产环境安全:请务必记住,
display_errors = On这个设置仅限于开发环境。在生产环境中,绝对不要开启它,因为它会将详细的错误信息(可能包含路径、代码片段等敏感数据)暴露给访问者。在生产环境,正确的做法是将其设为Off,同时确保log_errors = On,让错误只记录到安全的日志文件中。 - 权限管理:错误日志文件本身也可能包含敏感信息。务必按照上述步骤,为其设置正确的所有者和文件权限(如 660),防止未授权用户读取。
按照以上步骤操作一遍,你就能在 Ubuntu 上顺利开启 PHP 的错误显示功能,让开发调试过程变得更加直观高效。
