温馨提示×

ubuntu php-fpm如何开启报错

小樊
45
2026-09-19 13:12:46
栏目: 编程语言

在 Ubuntu 上让 PHP-FPM 显示/记录错误信息,通常从以下几个方面配置(以常见 PHP 7.x / 8.x 为例):


一、修改 php.ini(最关键)

1. 找到 php.ini 位置

php --ini
# 或
php-fpm -i | grep "Loaded Configuration File"

通常路径类似:

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

2. 修改以下配置

display_errors = On
display_startup_errors = On
error_reporting = E_ALL
log_errors = On
error_log = /var/log/php-fpm/php-error.log

⚠️ 生产环境建议:

  • display_errors = Off
  • log_errors = On

二、确认 PHP-FPM 使用的 php.ini

PHP CLI 和 PHP-FPM 是不同的 php.ini:

# FPM 用的
/etc/php/8.1/fpm/php.ini

# CLI 用的
/etc/php/8.1/cli/php.ini

三、Nginx / Apache 相关(常见坑)

Nginx 示例

location ~ \.php$ {
    fastcgi_pass   unix:/run/php/php8.1-fpm.sock;
    fastcgi_index  index.php;
    include        fastcgi_params;
}

如果页面空白:

  • 检查 fastcgi_params 是否包含:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

四、PHP-FPM 错误日志

1. 查看 PHP-FPM 日志

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

2. PHP 错误日志

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

如目录不存在:

mkdir -p /var/log/php-fpm
chown www-data:www-data /var/log/php-fpm

五、修改后重启服务

sudo systemctl restart php8.1-fpm
sudo systemctl restart nginx
# 或
sudo systemctl restart apache2

六、临时调试(不修改配置)

在 PHP 文件顶部加:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

七、常见问题速查

现象 原因
页面空白 display_errors 关闭
500 错误 PHP 语法或 FPM 崩溃
不记录日志 error_log 路径无权限
CLI 有错 FPM 没有 改错 php.ini

如果你愿意,可以告诉我:

  • Ubuntu 版本
  • PHP 版本
  • Nginx 还是 Apache
  • 报错现象(空白 / 500 / 不显示)

我可以给你精确配置。

0 踩