温馨提示×

ubuntu php日志在哪

小樊
47
2026-08-20 08:47:20
栏目: 编程语言

在 Ubuntu 上,PHP 日志的位置取决于 PHP 的运行方式(PHP-FPM 还是 Apache mod_php) 以及你的配置。下面是最常见的几种情况:


一、PHP-FPM(最常见,Nginx + PHP 场景)

1️⃣ PHP-FPM 错误日志

默认位置:

/var/log/php-fpm.log

或(按版本区分):

/var/log/php8.1-fpm.log
/var/log/php8.2-fpm.log
/var/log/php8.3-fpm.log

2️⃣ 慢日志(slow log)

/var/log/php-fpm-slow.log

3️⃣ 查看配置文件确认路径

php-fpm -t

或:

grep -R "error_log" /etc/php/

常见配置路径:

/etc/php/8.x/fpm/php-fpm.conf
/etc/php/8.x/fpm/pool.d/www.conf

二、Apache + mod_php(较少见)

Apache 错误日志(PHP 错误通常在这里)

/var/log/apache2/error.log

查看:

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

三、PHP 错误日志(php.ini 配置)

1️⃣ 查看 php.ini 中的日志路径

php -i | grep "error_log"

或:

grep error_log /etc/php/*/*/php.ini

常见配置项:

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

⚠️ 如果 error_log 为空,错误可能写入 Web 服务器日志。


四、快速定位当前 PHP 使用的日志

1️⃣ 查看 PHP 运行模式

php -i | grep "Server API"
  • FPM/FastCGI → 看 PHP-FPM 日志
  • Apache 2.0 Handler → 看 Apache 日志

2️⃣ 实时查看日志

tail -f /var/log/php8.2-fpm.log
# 或
tail -f /var/log/apache2/error.log

五、没有日志?常见原因

log_errors = Off
✅ 日志文件不存在或权限不足
display_errors 开启但 log_errors 关闭

修复示例:

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

然后:

sudo touch /var/log/php_errors.log
sudo chown www-data:www-data /var/log/php_errors.log
sudo systemctl restart php8.x-fpm

六、总结对照表

场景 日志位置
Nginx + PHP-FPM /var/log/php8.x-fpm.log
Apache + mod_php /var/log/apache2/error.log
php.ini 自定义 error_log 指定路径
慢查询 php-fpm-slow.log

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

  • ✅ Ubuntu 版本
  • ✅ PHP 版本
  • ✅ Nginx / Apache
  • ✅ 是网站报错还是命令行报错

我可以帮你精确定位到具体文件

0