在 Ubuntu 上查找 PHP 日志,主要取决于你使用的运行方式(Apache / Nginx + PHP-FPM / CLI)。下面按最常见场景给你一个完整指引。
php -v
php -i | grep "Server API"
常见结果:
Apache 2.0 Handler → Apache 模块FPM/FastCGI → PHP-FPMCLI → 命令行/var/log/apache2/error.log
查看实时日志:
tail -f /var/log/apache2/error.log
如果你配置了 vhost:
/var/log/apache2/你的域名.error.log
/var/log/nginx/error.log
通常位置:
/var/log/php8.1-fpm.log
或:
/var/log/php-fpm.log
不同版本示例:
/var/log/php7.4-fpm.log
/var/log/php8.2-fpm.log
如果不确定:
php -i | grep "error_log"
查看 php.ini 位置:
php --ini
常见路径:
/etc/php/8.1/apache2/php.ini
/etc/php/8.1/fpm/php.ini
/etc/php/8.1/cli/php.ini
log_errors = On
error_log = /var/log/php_errors.log
error_reporting = E_ALL
修改后重启服务:
sudo systemctl restart apache2
# 或
sudo systemctl restart php8.1-fpm
CLI 默认 不输出到文件,通常直接输出到终端。
查看 CLI 配置:
php -i | grep "error_log"
可以手动指定:
php -d error_log=/tmp/php_cli.log your_script.php
find /var/log -name "*php*"
ls -lt /var/log | head
PHP Fatal error: Uncaught Error: Class 'XXX' not found
AH01071: Got error 'PHP message: ...'
| 场景 | 日志位置 |
|---|---|
| Apache | /var/log/apache2/error.log |
| Nginx | /var/log/nginx/error.log |
| PHP-FPM | /var/log/php*-fpm.log |
| PHP 自定义 | php.ini 中 error_log |
| CLI | 终端 / 自定义文件 |
如果你愿意,可以把 报错内容或运行环境(Apache/Nginx、PHP 版本) 发出来,我可以帮你精确定位在哪一行、哪个文件。