发布于2026-07-03 阅读(0)
扫一扫,手机访问
Ubuntu 查看 PHP 错误日志

PHP运行出了问题,第一反应肯定是去翻日志。但很多时候,你打开终端却不知道该往哪个路径找——这事儿说难不难,但确实容易让人卡壳。下面直接讲清楚不同场景下的日志位置、怎么快速定位、以及最常用的查看姿势。
不同的运行环境,PHP错误被记录的位置也不一样。下面这张表把最常见的场景和对应的路径列出来,方便你快速定位:
| 环境/组件 | 日志路径 | 说明 |
|---|---|---|
| Apache + mod_php | /var/log/apache2/error.log | Apache 的错误日志,通常包含 PHP 解析/执行错误 |
| Nginx + PHP-FPM | /var/log/nginx/error.log | Nginx 错误日志,常记录 FastCGI/PHP-FPM 相关错误 |
| PHP-FPM 自身日志 | /var/log/php-fpm.log 或 /var/log/php7.x-fpm.log | PHP-FPM 进程日志,具体文件名含 PHP 版本号 |
| 自定义日志 | 由 php.ini 的 error_log 指定 | 项目或运维自定义的错误日志路径 |
需要注意的是,路径中的 7.x 要替换成你实际安装的 PHP 版本号(比如 7.4、8.1、8.3)。
如果不知道当前环境用的是哪个日志文件,最直接的方法就是顺着 php.ini 往下找。
先查看已加载的配置文件:php -i | grep 'Loaded Configuration File'
然后在对应 SAPI 的配置文件里搜索 error_log(Apache 和 FPM 的配置可能不同):
grep -i error_log /etc/php/版本号/apache2/php.inigrep -i error_log /etc/php/版本号/fpm/php.ini如果项目里配置了自定义路径,那就直接以 php.ini 里的 error_log 为准,不绕弯子。
这部分应该是大家最常用的。几个核心命令记住就行:
实时查看日志尾部(这是排查故障时最顺手的方式)
sudo tail -f /var/log/apache2/error.logsudo tail -f /var/log/nginx/error.logsudo tail -f /var/log/php7.x-fpm.log检索关键字(比如只关心“error”或“fatal”级别的日志)
grep -i "error" /var/log/php7.x-fpm.log用编辑器查看——偶尔需要翻开整段日志的时候,直接用 nano 或 vim 打开就行:sudo nano /var/log/apache2/error.log 或 sudo vim /var/log/php7.x-fpm.log
日志格式其实很清晰:时间戳、错误级别、错误消息、堆栈跟踪——按照这些信息就能直接定位到具体的文件与行号,效率很高。
有时候配置了日志但发现不生效,别急,先检查下面几个点。
在 php.ini 中开启并指定记录文件:
log_errors = Onerror_log = /var/log/php_errors.logdisplay_errors = Off 打开,避免敏感信息外露。让配置生效:
sudo systemctl restart apache2sudo systemctl restart php7.x-fpm如果依然没有日志产生:
sudo touch /var/log/php_errors.log && sudo chown www-data:www-data /var/log/php_errors.logphp -i | grep error_log 和 grep -i error_log 双重确认实际生效的配置。说白了,日志排查的关键就两点:路径对不对,权限够不够。把这两个点盯住,大部分问题都能迅速搞定。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8