温馨提示×

ubuntu php日志级别怎设

小樊
43
2026-10-12 07:42:21
栏目: 编程语言

在 Ubuntu 上设置 PHP 的日志级别,主要取决于你使用的是 PHP-CLI、PHP-FPM 还是 Apache + mod_php。下面按常见情况说明。


一、核心配置项(不管哪种环境都相关)

PHP 日志相关主要有两个地方:

1. php.ini 中的错误报告级别

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

2. 日志“级别”由 error_reporting 控制

常见级别:

  • E_ALL:所有错误和警告(开发推荐)
  • E_ERROR | E_WARNING:只记录严重错误和警告
  • E_NOTICE:关闭 notice(生产常见)

示例(生产环境):

error_reporting = E_ERROR | E_WARNING | E_PARSE

二、Ubuntu 上不同环境的设置方法

✅ 1. PHP-FPM(最常见,Nginx 常用)

路径示例(版本可能不同):

/etc/php/8.1/fpm/php.ini

修改:

error_reporting = E_ALL
log_errors = On
error_log = /var/log/php/php-fpm.log

然后:

sudo mkdir -p /var/log/php
sudo chown www-data:www-data /var/log/php
sudo systemctl restart php8.1-fpm

✅ 2. Apache + mod_php

配置文件:

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

修改后重启:

sudo systemctl restart apache2

✅ 3. PHP CLI(命令行)

配置文件:

/etc/php/8.1/cli/php.ini

查看当前级别:

php -i | grep error_reporting

三、只在某个项目中临时设置(推荐开发用)

在 PHP 代码里设置:

error_reporting(E_ALL);
ini_set('display_errors', '1');
ini_set('log_errors', '1');

或只针对某个虚拟主机(Apache):

<VirtualHost *:80>
    php_value error_reporting E_ALL
    php_value log_errors On
</VirtualHost>

四、查看 Ubuntu PHP 日志

常见位置:

  • FPM:/var/log/php/php-fpm.log
  • Apache:/var/log/apache2/error.log
  • 自定义:error_log 指定的路径

实时查看:

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

五、推荐配置(经验值)

开发环境

error_reporting = E_ALL
display_errors = On

生产环境

error_reporting = E_ERROR | E_WARNING | E_PARSE
display_errors = Off
log_errors = On

如果你告诉我:

  • Ubuntu 版本
  • PHP 版本
  • Web 服务(Nginx / Apache)

我可以给你一份精确可复制的配置。

0 踩