在 Ubuntu 上,PHP-FPM 的错误日志位置和查看方式取决于你的配置。下面按常见情况给你说明。
php-fpm -v
# 或
php -v
常见版本如:php7.4-fpm、php8.1-fpm、php8.2-fpm
sudo nano /etc/php/*/fpm/php-fpm.conf
找这一行:
error_log = /var/log/php-fpm.log
或(旧版本):
error_log = /var/log/php5-fpm.log
查看日志:
sudo tail -f /var/log/php-fpm.log
PHP-FPM 通常使用 pool(如 www):
sudo nano /etc/php/*/fpm/pool.d/www.conf
关注这两项:
catch_workers_output = yes
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
如果设置了 php_admin_value[error_log],PHP 错误会写到这里:
sudo tail -f /var/log/php-fpm/www-error.log
sudo nano /etc/php/*/fpm/php.ini
查看:
log_errors = On
error_log = /var/log/php/php-error.log
查看:
sudo tail -f /var/log/php/php-error.log
如果 PHP 报错但日志里没有:
catch_workers_output = yesphp-fpm 用户有权限写日志文件# 查看 php-fpm 是否在运行
systemctl status php*-fpm
# 查看最近错误
sudo journalctl -u php*-fpm -n 50
# 实时看日志
sudo tail -f /var/log/php-fpm.log
| 类型 | 路径 |
|---|---|
| PHP-FPM 主日志 | /var/log/php-fpm.log |
| Pool 日志 | /var/log/php-fpm/www-error.log |
| PHP 错误日志 | /var/log/php/php-error.log |
| systemd 日志 | journalctl -u php-fpm |
如果你愿意,可以告诉我:
我可以帮你精准定位是哪一种日志、哪一行配置。