在 Ubuntu 上查找 PHP 日志,主要取决于你使用的 PHP 运行方式(Apache / Nginx + PHP-FPM) 以及 PHP 配置。下面按常见场景给你一个实用速查表。
先确认 PHP 把错误写到了哪里:
php -i | grep "error_log"
或者查看 php.ini:
php --ini
常见路径:
error_log = /var/log/php/error.log
display_errors = Off
log_errors = On
/var/log/apache2/error.log
查看实时日志:
tail -f /var/log/apache2/error.log
/var/log/php*-fpm.log
例如:
/var/log/php8.1-fpm.log
/var/log/php8.1-fpm/www-error.log
如果没看到,检查池配置:
/etc/php/8.1/fpm/pool.d/www.conf
关键配置:
catch_workers_output = yes
php_admin_value[error_log] = /var/log/php8.1-fpm/www-error.log
/var/log/nginx/error.log
/var/log/nginx/access.log
查看 500 错误:
tail -f /var/log/nginx/error.log
log_errors = On
error_log = /var/log/php/error.log
然后:
sudo mkdir -p /var/log/php
sudo chown www-data:www-data /var/log/php
sudo systemctl restart php8.1-fpm
find /var/log -name "*php*" 2>/dev/null
find /var/log -name "*fpm*" 2>/dev/null
| 环境 | 日志位置 |
|---|---|
| Apache | /var/log/apache2/error.log |
| Nginx | /var/log/nginx/error.log |
| PHP-FPM | /var/log/php*-fpm.log |
| PHP-FPM 池 | /var/log/php*-fpm/www-error.log |
| 自定义 | php.ini 中 error_log |
临时打开错误显示(仅开发环境):
ini_set('display_errors', 1);
error_reporting(E_ALL);
如果你愿意,可以告诉我:
我可以 直接给你精确到路径的命令。