在 Ubuntu 上,PHP 日志的位置取决于 PHP 的运行方式(PHP-FPM 还是 Apache mod_php) 以及你的配置。下面是最常见的几种情况:
默认位置:
/var/log/php-fpm.log
或(按版本区分):
/var/log/php8.1-fpm.log
/var/log/php8.2-fpm.log
/var/log/php8.3-fpm.log
/var/log/php-fpm-slow.log
php-fpm -t
或:
grep -R "error_log" /etc/php/
常见配置路径:
/etc/php/8.x/fpm/php-fpm.conf
/etc/php/8.x/fpm/pool.d/www.conf
/var/log/apache2/error.log
查看:
tail -f /var/log/apache2/error.log
php -i | grep "error_log"
或:
grep error_log /etc/php/*/*/php.ini
常见配置项:
log_errors = On
error_log = /var/log/php_errors.log
⚠️ 如果 error_log 为空,错误可能写入 Web 服务器日志。
php -i | grep "Server API"
tail -f /var/log/php8.2-fpm.log
# 或
tail -f /var/log/apache2/error.log
✅ log_errors = Off
✅ 日志文件不存在或权限不足
✅ display_errors 开启但 log_errors 关闭
修复示例:
log_errors = On
error_log = /var/log/php_errors.log
然后:
sudo touch /var/log/php_errors.log
sudo chown www-data:www-data /var/log/php_errors.log
sudo systemctl restart php8.x-fpm
| 场景 | 日志位置 |
|---|---|
| Nginx + PHP-FPM | /var/log/php8.x-fpm.log |
| Apache + mod_php | /var/log/apache2/error.log |
| php.ini 自定义 | error_log 指定路径 |
| 慢查询 | php-fpm-slow.log |
如果你愿意,可以告诉我:
我可以帮你精确定位到具体文件。