温馨提示×

Ubuntu PHP日志如何开启

小樊
36
2026-07-21 17:08:39
栏目: 编程语言

在 Ubuntu 上开启 PHP 日志(错误日志)通常取决于你使用的是 PHP-FPM 还是 Apache + mod_php。下面按常见场景说明。


一、确认 PHP 运行方式

先确认你用的是哪种方式:

php -v
php -i | grep "Server API"

常见结果:

  • FPM/FastCGIPHP-FPM
  • Apache 2.0 HandlerApache mod_php

二、开启 PHP 错误日志(通用)

1️⃣ 修改 php.ini

先找到 php.ini 位置:

php --ini

或:

php -i | grep "Loaded Configuration File"

常见路径:

  • /etc/php/8.1/apache2/php.ini
  • /etc/php/8.1/fpm/php.ini
  • /etc/php/8.1/cli/php.ini

编辑对应文件:

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

2️⃣ 关键配置项(取消注释并修改)

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

✅ 生产环境建议 display_errors = Off,避免暴露敏感信息。


三、PHP-FPM(最常见,Nginx / Apache)

1️⃣ 创建日志目录

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

2️⃣ 重启 PHP-FPM

sudo systemctl restart php8.1-fpm

(版本号按实际情况)


四、Apache + mod_php

1️⃣ 修改 Apache 的 php.ini

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

配置同上:

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

2️⃣ 重启 Apache

sudo systemctl restart apache2

五、查看 PHP 日志

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

六、Nginx 用户常见问题

⚠️ 注意
PHP 错误 不会 出现在 Nginx 的 /var/log/nginx/error.log 中,除非是 502 / 504 等错误。


七、临时开启(不修改 php.ini)

在 PHP 文件中临时开启(调试用):

ini_set('display_errors', 1);
ini_set('log_errors', 1);
ini_set('error_log', '/var/log/php/php_errors.log');
error_reporting(E_ALL);

八、常见问题排查

❌ 日志不生成?

  • error_log 路径不存在
  • 没有 www-data 写权限
  • 修改了错误的 php.ini
  • 没重启 PHP-FPM / Apache

✅ 快速验证

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

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

  • Ubuntu 版本
  • PHP 版本
  • 使用的是 Nginx 还是 Apache

我可以给你一套 完全针对你环境的配置命令

0