在 Ubuntu 上定位 PHP 日志错误,通常可以从错误日志位置、运行模式(CLI / FPM / Apache)、配置项几个方面入手。下面按常见场景给你一个清晰流程。
不同方式,日志位置不同:
php -v
日志通常在:
/var/log/php*/php-fpm.log
/var/log/php*/www-error.log
例如:
/var/log/php8.1-fpm.log
/var/log/php8.1/www-error.log
实时查看:
tail -f /var/log/php8.1/www-error.log
PHP 错误一般写入 Apache 错误日志:
/var/log/apache2/error.log
查看:
tail -f /var/log/apache2/error.log
CLI 默认不写日志文件,直接输出到终端。
若想写文件,需要配置 php.ini。
找到使用的 php.ini:
php --ini
或(FPM):
php-fpm8.1 -i | grep "Loaded Configuration File"
关键配置:
display_errors = On
log_errors = On
error_log = /var/log/php_errors.log
error_reporting = E_ALL
修改后重启:
sudo systemctl restart php8.1-fpm
# 或
sudo systemctl restart apache2
grep -i error /var/log/php*.log
tail -f /var/log/php8.1/www-error.log
然后访问页面,观察输出。
error_log("test log");
或
var_dump($var); exit;
open_basedir 限制Allowed memory size exhausted)Maximum execution time)你可以告诉我:
我可以直接帮你定位日志文件 + 分析错误原因。