温馨提示×

ubuntu php日志怎么开启

小樊
36
2026-08-20 08:48:27
栏目: 编程语言

在 Ubuntu 上开启 PHP 日志(错误日志)通常分 PHP-FPMApache/Nginx + PHP 两种情况。下面按常见场景一步步说明。


一、PHP-FPM(最常见,Nginx 常用)

1️⃣ 找到 PHP-FPM 配置文件

先确认 PHP 版本:

php -v

示例(以 PHP 8.1 为例):

cd /etc/php/8.1/fpm/

主要配置文件:

/etc/php/8.1/fpm/php.ini
/etc/php/8.1/fpm/pool.d/www.conf

2️⃣ 开启 PHP 错误日志(php.ini)

编辑:

sudo nano /etc/php/8.1/fpm/php.ini

确保以下配置存在并取消注释:

display_errors = Off
log_errors = On
error_reporting = E_ALL
error_log = /var/log/php/php_errors.log

✅ 生产环境建议 display_errors = Off


3️⃣ 确保日志目录存在

sudo mkdir -p /var/log/php
sudo chown www-data:www-data /var/log/php
sudo chmod 755 /var/log/php

4️⃣ 重启 PHP-FPM

sudo systemctl restart php8.1-fpm

二、Apache + PHP(mod_php)

1️⃣ 编辑 php.ini

路径可能是:

/etc/php/8.1/apache2/php.ini

设置:

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

2️⃣ 重启 Apache

sudo systemctl restart apache2

三、Nginx 中 PHP 错误不显示的常见原因

如果 PHP 报错但日志没有内容,检查:

✅ php-fpm pool 配置

sudo nano /etc/php/8.1/fpm/pool.d/www.conf

确认没有覆盖 php_admin_value

php_admin_value[error_log] = /var/log/php/php_errors.log
php_admin_flag[log_errors] = on

四、查看 PHP 日志

tail -f /var/log/php/php_errors.log

五、快速验证是否生效

创建测试文件:

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

访问页面后查看日志。


六、常见坑总结

问题 原因
日志不生成 目录权限不对
页面空白 display_errors=Off
日志不更新 修改的是错误 php.ini
systemd 限制 journalctl 里看不到

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

  • ✅ Ubuntu 版本
  • ✅ PHP 版本
  • ✅ Nginx / Apache
  • ✅ 是 CLI 还是 Web 环境

我可以给你 精确到命令级别 的配置方案。

0