在 Ubuntu 上定位 PHP 日志错误,通常可以按下面几个步骤来进行:
不同运行方式,日志位置不同:
错误通常直接输出在终端
或查看 php.ini 中的:
error_log = /var/log/php/php_cli.log
日志一般在:
/var/log/php-fpm.log
# 或
/var/log/php/php-fpm.log
每个 pool 可能有独立日志:
/var/log/php7.4-fpm.log
错误通常在 Apache 错误日志:
/var/log/apache2/error.log
/var/log/nginx/error.log
先找 php.ini 位置:
php --ini
或
php -i | grep php.ini
查看关键配置:
display_errors = On
log_errors = On
error_log = /var/log/php/php_errors.log
如果没有 error_log,PHP 会交给 Web 服务器日志。
# PHP-FPM
/var/log/php*.log
# Apache
/var/log/apache2/error.log
# Nginx
/var/log/nginx/error.log
# 应用自定义
项目目录下的 storage/logs(Laravel)
runtime/log(ThinkPHP)
tail -f /var/log/php/php_errors.log
tail -f /var/log/nginx/error.log
sudo grep -r "PHP Fatal" /var/log/
如果你能告诉我:
我可以帮你精确指出日志文件和原因。