在 Debian 下开启 PHP 错误提示,通常有两种场景:开发环境 和 生产环境。下面分别说明,并给出常见配置方式。
适合快速调试,不推荐长期使用。
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
先确认当前使用的 php.ini 路径:
php --ini
常见路径:
/etc/php/8.2/apache2/php.ini/etc/php/8.2/fpm/php.ini/etc/php/8.2/cli/php.ini根据你的 PHP 版本(7.x / 8.x)和 SAPI(apache/fpm/cli)选择对应文件。
编辑对应文件:
sudo nano /etc/php/8.2/fpm/php.ini
找到以下配置项(或添加):
display_errors = On
display_startup_errors = On
error_reporting = E_ALL
如果是 生产环境,建议只记录日志,不显示:
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log
sudo systemctl restart apache2
sudo systemctl restart php8.2-fpm
在 fastcgi_params 或 location ~ \.php$ 中添加:
fastcgi_param PHP_VALUE "display_errors=On";
fastcgi_param PHP_VALUE "error_reporting=E_ALL";
然后重启 Nginx 和 PHP-FPM。
如果 Apache 允许覆盖:
php_value display_errors On
php_value error_reporting E_ALL
如果 display_errors = Off,可查看日志:
tail -f /var/log/php_errors.log
或系统日志:
journalctl -u php8.2-fpm
| 场景 | display_errors | log_errors |
|---|---|---|
| 本地开发 | On | On |
| 生产环境 | Off | On |
如果你愿意,可以告诉我:
我可以给你精确到命令级别的配置方案。