温馨提示×

ubuntu php fpm怎么开启错误显示

小樊
36
2026-09-04 13:06:33
栏目: 编程语言

在 Ubuntu 上让 PHP-FPM 显示错误,通常需要从 PHP 配置Nginx/Apache 两方面检查。下面以 Nginx + PHP-FPM 为例说明。


一、修改 PHP 配置(最关键)

1. 找到 php.ini 位置

php --ini

或在 PHP 中输出:

<?php phpinfo(); ?>

通常路径是:

/etc/php/8.1/fpm/php.ini

(版本号可能是 7.4 / 8.0 / 8.2 等)


2. 修改 php.ini

编辑配置文件:

sudo nano /etc/php/8.1/fpm/php.ini

确保以下配置为:

display_errors = On
display_startup_errors = On
error_reporting = E_ALL

⚠️ 生产环境不建议 display_errors = On


3. 重启 PHP-FPM

sudo systemctl restart php8.1-fpm

二、Nginx 配置(常见坑)

1. 确保 PHP 错误不被屏蔽

Nginx 本身不会屏蔽错误,但要确认:

fastcgi_intercept_errors off;

示例:

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    fastcgi_intercept_errors off;
}

2. 重新加载 Nginx

sudo nginx -t
sudo systemctl reload nginx

三、代码中临时开启(调试用)

如果无法改 php.ini,可在 PHP 文件最前面写:

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

四、只记录不显示(推荐生产环境)

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

查看日志:

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

五、常见问题排查

✅ 白屏 / 500
→ 看 PHP-FPM 日志

sudo tail -f /var/log/php8.1-fpm.log

✅ 改了不生效
→ 确认改的是 fpm/php.ini,不是 cli/php.ini


如果你用的是 Apache + PHP-FPMUbuntu 特定版本,可以告诉我,我给你对应命令。

0