温馨提示×

Ubuntu如何配置PHP错误

小樊
35
2026-07-28 04:00:20
栏目: 编程语言

在 Ubuntu 上配置 PHP 错误显示/记录,通常分为 PHP-FPM(Nginx 常用)Apache + mod_php 两种场景。下面按常见情况一步步说明。


一、确认 PHP 配置文件位置

先找到 php.ini 所在路径:

php -i | grep "Loaded Configuration File"

常见路径:

  • /etc/php/8.x/cli/php.ini(CLI)
  • /etc/php/8.x/fpm/php.ini(PHP-FPM,Nginx 常用)
  • /etc/php/8.x/apache2/php.ini(Apache)

⚠️ Web 环境一定要改 fpm 或 apache2 目录下的 php.ini,而不是 cli 的


二、开启 / 关闭错误显示(开发环境)

1️⃣ 编辑 php.ini

sudo nano /etc/php/8.x/fpm/php.ini

(根据你的 PHP 版本调整)

2️⃣ 关键配置项

display_errors = On
display_startup_errors = On
error_reporting = E_ALL

含义:

  • display_errors:是否在页面显示错误
  • error_reporting:错误级别(开发建议 E_ALL

开发环境推荐

display_errors = On
error_reporting = E_ALL

生产环境推荐

display_errors = Off
error_reporting = E_ALL

三、配置错误日志(生产环境必开)

1️⃣ 开启错误日志

log_errors = On
error_log = /var/log/php/error.log

2️⃣ 创建日志目录并设置权限

sudo mkdir -p /var/log/php
sudo chown www-data:www-data /var/log/php
sudo chmod 755 /var/log/php

四、重启 PHP 服务

PHP-FPM(Nginx)

sudo systemctl restart php8.x-fpm

Apache

sudo systemctl restart apache2

五、测试是否生效

创建测试文件 info.php

<?php
echo $undefinedVariable;

访问页面:

  • ✅ 开发环境:应看到错误提示
  • ✅ 生产环境:页面空白,错误写入日志

查看日志:

tail -f /var/log/php/error.log

六、临时在代码中开启错误(不推荐长期使用)

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

七、常见坑总结

问题 原因
改了 php.ini 不生效 改错 ini 文件
页面不显示错误 display_errors=Off
日志不生成 目录无权限
修改后没重启 FPM/Apache 未重启

八、不同环境推荐配置

✅ 开发环境

display_errors = On
error_reporting = E_ALL
log_errors = On

✅ 生产环境

display_errors = Off
error_reporting = E_ALL
log_errors = On
error_log = /var/log/php/error.log

如果你能告诉我:

  • Nginx 还是 Apache
  • PHP 版本
  • 开发还是生产环境

我可以给你一份 完全针对你服务器的配置示例

0