温馨提示×

CentOS PHP日志怎么关闭

小樊
52
2026-08-19 05:07:03
栏目: 编程语言

在 CentOS 上关闭 PHP 日志,通常取决于你使用的是 PHP-FPM 还是 Apache + mod_php,以及你想关闭的是哪种日志(错误日志 / 访问日志)。下面按常见场景说明。


一、关闭 PHP 错误日志(最常见)

1️⃣ 找到 php.ini

先确认 php.ini 位置:

php --ini

或:

php -i | grep "Loaded Configuration File"

通常路径:

  • /etc/php.ini
  • /etc/php/7.x/cli/php.ini
  • /etc/php/7.x/fpm/php.ini

2️⃣ 修改 php.ini

编辑 php.ini:

vim /etc/php.ini

关闭错误显示和错误日志

display_errors = Off
log_errors = Off
error_reporting = 0

✅ 这是最关键的设置


3️⃣ 重启服务

PHP-FPM

systemctl restart php-fpm

Apache

systemctl restart httpd

二、PHP-FPM 单独关闭日志(推荐)

如果你用的是 PHP-FPM(LNMP 常见),还需要检查 FPM 配置。

1️⃣ 找到 www.conf

ls /etc/php-fpm.d/

通常是:

vim /etc/php-fpm.d/www.conf

2️⃣ 关闭 FPM 错误日志

php_admin_flag[log_errors] = off

或直接注释掉:

;php_admin_value[error_log] = /var/log/php-fpm/www-error.log

3️⃣ 关闭 PHP-FPM 自身日志(可选)

vim /etc/php-fpm.conf
error_log = /dev/null
log_level = warning

或:

error_log = /dev/null

三、关闭 Apache 的 PHP 日志(mod_php)

如果是 Apache + mod_php:

vim /etc/httpd/conf/httpd.conf

确保没有:

php_value log_errors On

或改为:

php_value log_errors Off

然后重启 Apache:

systemctl restart httpd

四、直接丢弃日志(不推荐但简单)

如果你只是想“不写日志”:

chmod 000 /var/log/php-fpm

或:

ln -sf /dev/null /var/log/php-fpm/www-error.log

⚠️ 不建议生产环境这么做,排查问题会非常困难。


五、验证是否关闭成功

php -i | grep "log_errors"

或访问一个故意出错的 PHP 页面:

<?php
undefined_function();

确认 没有日志写入:

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

总结(最常用)

✅ 彻底关闭 PHP 日志(PHP-FPM)

log_errors = Off
display_errors = Off
php_admin_flag[log_errors] = off

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

  • CentOS 版本(7 / 8 / Stream)
  • PHP 版本
  • 用的 Nginx 还是 Apache

我可以给你一份完全对应你环境的配置示例。

0 踩