在 CentOS 上关闭 PHP 日志,通常取决于你使用的是 PHP-FPM 还是 Apache + mod_php,以及你想关闭的是哪种日志(错误日志 / 访问日志)。下面按常见场景说明。
先确认 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编辑 php.ini:
vim /etc/php.ini
display_errors = Off
log_errors = Off
error_reporting = 0
✅ 这是最关键的设置
systemctl restart php-fpm
systemctl restart httpd
如果你用的是 PHP-FPM(LNMP 常见),还需要检查 FPM 配置。
ls /etc/php-fpm.d/
通常是:
vim /etc/php-fpm.d/www.conf
php_admin_flag[log_errors] = off
或直接注释掉:
;php_admin_value[error_log] = /var/log/php-fpm/www-error.log
vim /etc/php-fpm.conf
error_log = /dev/null
log_level = warning
或:
error_log = /dev/null
如果是 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
如果你愿意,可以告诉我:
我可以给你一份完全对应你环境的配置示例。