温馨提示×

ubuntu php日志如何定位

小樊
51
2026-09-24 19:21:29
栏目: 编程语言

在 Ubuntu 上定位 PHP 日志,通常分 PHP 本身错误日志 和 Web 服务器(Apache/Nginx)日志 两部分。下面按常见场景说明。


一、先确认 PHP 运行方式

php -v

再看是:

  • CLI(命令行)
  • Apache (mod_php)
  • Nginx + PHP-FPM

二、PHP 错误日志位置

1️⃣ 查看 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

查看日志配置:

grep -E "log_errors|error_log" /etc/php/*/*/php.ini

关键配置:

log_errors = On
error_log = /var/log/php/php_errors.log

如果没有 error_log,PHP 错误会写到:

  • Apache:Apache 错误日志
  • Nginx:PHP-FPM 日志

三、Apache + PHP 日志

Apache 错误日志

tail -f /var/log/apache2/error.log

PHP(mod_php)错误

通常也在:

/var/log/apache2/error.log

四、Nginx + PHP-FPM 日志

PHP-FPM 错误日志

tail -f /var/log/php8.1-fpm.log

或:

/var/log/php-fpm.log

Nginx 错误日志

tail -f /var/log/nginx/error.log

Nginx 访问日志

tail -f /var/log/nginx/access.log

五、CLI 模式 PHP 日志

CLI 一般 不写日志文件,直接输出到终端。

调试方法:

php -d log_errors=1 -d error_log=/tmp/php_cli.log your_script.php

六、快速定位问题的方法

实时查看日志

tail -f /var/log/nginx/error.log
tail -f /var/log/php8.1-fpm.log

搜索错误

grep -i error /var/log/nginx/error.log
grep -i "php" /var/log/nginx/error.log

测试 PHP 是否写日志

<?php
error_log("test php log");

七、常见坑

✅ display_errors 只影响页面显示,不影响日志
✅ error_log 文件必须有写权限
✅ FPM 和 CLI 用的是 不同 php.ini


如果你愿意,可以告诉我:

  • Ubuntu 版本
  • PHP 版本
  • Apache 还是 Nginx

我可以给你 精确的一条命令定位方式。

0 踩