在 Ubuntu 上,PHP 日志的位置取决于你使用的运行方式(PHP-FPM、Apache、CLI 等)和配置。下面按常见情况说明:
如果你的 PHP 是通过 PHP-FPM 运行的:
通常在:
/var/log/php*/fpm.log
例如:
/var/log/php8.1-fpm.log
/var/log/php7.4-fpm.log
php-fpm -i | grep error_log
或查看 FPM 配置:
sudo vim /etc/php/8.1/fpm/php.ini
关注:
error_log = /var/log/php8.1-fpm.log
FPM pool 配置:
sudo vim /etc/php/8.1/fpm/pool.d/www.conf
常见项:
catch_workers_output = yes
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
如果你用的是 Apache:
通常写在 Apache 错误日志里:
/var/log/apache2/error.log
查看:
tail -f /var/log/apache2/error.log
sudo vim /etc/php/8.1/apache2/php.ini
log_errors = On
error_log = /var/log/php_errors.log
命令行运行的 PHP 默认不写日志文件,错误直接输出到终端。
查看配置:
php -i | grep error_log
如果你想记录:
php -d log_errors=1 -d error_log=/tmp/php-cli.log script.php
php -i | grep error_log
php --ini
sudo find /var/log -name "*php*"
| 场景 | 日志位置 |
|---|---|
| PHP-FPM | /var/log/php*-fpm.log |
| Apache | /var/log/apache2/error.log |
| Nginx + FPM | PHP 日志在 FPM 配置中 |
| CLI | 默认无(输出到终端) |
如果你愿意,可以告诉我:
我可以帮你精准定位日志文件。