温馨提示×

如何开启ubuntu php日志

小樊
41
2026-08-20 08:54:27
栏目: 编程语言

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


一、确认 PHP 运行方式

先确认你当前 PHP 的运行模式:

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

常见结果:

  • FPM/FastCGI → PHP-FPM(最常见,Nginx / Apache)
  • Apache 2.0 Handler → Apache + mod_php

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

1️⃣ 找到 php-fpm 配置文件

php --ini | grep "Loaded Configuration File"

通常路径类似:

/etc/php/8.2/fpm/php.ini

版本号可能是 7.4 / 8.1 / 8.2 / 8.3


2️⃣ 修改 php.ini 开启错误日志

编辑配置文件:

sudo nano /etc/php/8.2/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 touch /var/log/php/php_errors.log
sudo chown www-data:www-data /var/log/php/php_errors.log

4️⃣ 重启 PHP-FPM

sudo systemctl restart php8.2-fpm

三、Apache + mod_php

1️⃣ 修改 php.ini

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

设置:

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

2️⃣ 创建日志文件

sudo mkdir -p /var/log/php
sudo touch /var/log/php/php_errors.log
sudo chown www-data:www-data /var/log/php/php_errors.log

3️⃣ 重启 Apache

sudo systemctl restart apache2

四、虚拟主机单独开启 PHP 日志(可选)

Apache 虚拟主机

<VirtualHost *:80>
    php_value log_errors On
    php_value error_log /var/log/php/site_errors.log
</VirtualHost>

Nginx + PHP-FPM(推荐方式)

www.conf 中设置:

sudo nano /etc/php/8.2/fpm/pool.d/www.conf
php_admin_value[error_log] = /var/log/php/php_errors.log
php_admin_flag[log_errors] = on

重启:

sudo systemctl restart php8.2-fpm

五、查看 PHP 日志

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

六、常见问题排查

❌ 日志不生成

  • 确认 log_errors = On
  • 确认 error_log 路径存在且可写
  • 确认 PHP-FPM / Apache 已重启
  • 确认 错误级别不是 notice 被忽略

七、推荐配置(通用)

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

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

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

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

0