温馨提示×

CentOS怎样开启PHP错误

小樊
46
2026-07-08 02:53:38
栏目: 编程语言

CentOS 上开启 PHP 错误显示,通常取决于你使用的 PHP 运行方式(PHP-FPM / Apache mod_php) 以及 PHP 版本。下面按常见场景给你一套完整做法。


一、修改 php.ini(最常用)

1️⃣ 找到 php.ini 文件

php -i | grep "Loaded Configuration File"

常见路径:

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

如果是 PHP-FPM,一定要改 FPM 对应的 php.ini,而不是 CLI 的。


2️⃣ 编辑 php.ini

vim /etc/php.ini

修改或取消注释以下配置:

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

✅ 推荐开发环境这样设置
⚠️ 生产环境 不建议开启 display_errors


3️⃣ 重启服务

PHP-FPM + Nginx

systemctl restart php-fpm
systemctl restart nginx

Apache + mod_php

systemctl restart httpd

二、在 PHP 代码中临时开启(调试用)

适合临时调试,无需改配置文件:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);

⚠️ 注意:

  • 如果 PHP 已在 php.ini 中关闭 display_errors,部分致命错误仍可能不显示
  • 建议配合日志使用

三、查看 PHP 错误日志(非常重要)

1️⃣ 确认日志路径

php -i | grep error_log

或查看:

error_log = /var/log/php_errors.log

2️⃣ 创建并设置权限

touch /var/log/php_errors.log
chown apache:apache /var/log/php_errors.log
# 或 nginx
chown nginx:nginx /var/log/php_errors.log
chmod 644 /var/log/php_errors.log

3️⃣ 实时查看错误

tail -f /var/log/php_errors.log

四、SELinux 导致看不到错误(CentOS 常见问题)

如果日志不生成,可能是 SELinux 限制:

setenforce 0

或放行日志目录:

semanage fcontext -a -t httpd_log_t "/var/log/php_errors.log"
restorecon -v /var/log/php_errors.log

五、快速检查是否生效

<?php
phpinfo();

搜索:

  • display_errors
  • error_reporting

确认是否为 On / E_ALL


✅ 推荐配置总结

环境 display_errors log_errors
开发 On On
生产 Off On

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

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

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

0