在 Ubuntu 上查看 PHP 日志,主要取决于 PHP 的运行方式(PHP-FPM 还是 Apache mod_php) 以及 日志配置。下面按常见场景给你一个完整说明。
/var/log/php*/fpm.log
/var/log/php*/fpm/error.log
例如:
/var/log/php8.1-fpm.log
/var/log/php8.2-fpm.log
查看:
tail -f /var/log/php8.1-fpm.log
PHP 错误通常写入 Apache 日志:
/var/log/apache2/error.log
查看:
tail -f /var/log/apache2/error.log
如果你在 php.ini 中配置了错误日志:
log_errors = On
error_log = /var/log/php_errors.log
查看:
tail -f /var/log/php_errors.log
php --ini
或:
php -i | grep "Loaded Configuration File"
php -i | grep error_log
PHP-FPM 每个 pool 可能有独立日志:
grep -R "php_admin_value\[error_log\]" /etc/php/
常见路径:
/etc/php/8.1/fpm/pool.d/www.conf
示例配置:
php_admin_value[error_log] = /var/log/php8.1-fpm-error.log
tail -f /var/log/php*.log
或:
tail -f /var/log/apache2/error.log
display_errors = Off
log_errors = On
error_reporting = E_ALL
sudo systemctl restart php8.1-fpm
sudo systemctl restart apache2 # 如果用 Apache
# 查看所有 PHP 日志
ls -lh /var/log/php*
# 查找 PHP 错误
grep -i error /var/log/php*.log
# 查看最近 50 行
tail -n 50 /var/log/php8.1-fpm.log
| 环境 | 日志位置 |
|---|---|
| Nginx + PHP-FPM | /var/log/php*-fpm.log |
| Apache + mod_php | /var/log/apache2/error.log |
| 自定义 error_log | php.ini 中 error_log |
| PHP-FPM Pool | www.conf 中的 php_admin_value[error_log] |
如果你愿意,可以告诉我:
我可以帮你精确定位到你的 PHP 日志文件。