在 Debian 下查看 PHP 错误,常见有 几种方式,取决于你是用 PHP-FPM、Apache、CLI 还是 Nginx。下面按最常用场景给你一个完整说明。
php --ini
常见路径:
/etc/php/8.2/cli/php.ini/etc/php/8.2/fpm/php.ini注意:CLI 和 FPM 是两套 php.ini
编辑对应 php.ini:
sudo nano /etc/php/8.2/fpm/php.ini
确认以下配置:
display_errors = Off # 生产环境建议关闭
log_errors = On
error_reporting = E_ALL
error_log = /var/log/php/error.log
重启 PHP-FPM:
sudo systemctl restart php8.2-fpm
tail -f /var/log/php/error.log
如果文件不存在:
sudo mkdir -p /var/log/php
sudo touch /var/log/php/error.log
sudo chown www-data:www-data /var/log/php/error.log
错误通常在 Apache 日志中:
tail -f /var/log/apache2/error.log
php your_script.php 2>&1
或者查看 CLI 错误日志:
tail -f /var/log/php/error.log
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
⚠️ 不要在生产环境长期开启
tail -f /var/log/nginx/error.log
502 Bad Gateway → PHP-FPM 没启动404 → SCRIPT_FILENAME 配置错误检查:
systemctl status php8.2-fpm
调试时建议同时开两个终端:
# 终端 1
tail -f /var/log/nginx/error.log
# 终端 2
tail -f /var/log/php/error.log
| 错误 | 原因 |
|---|---|
Allowed memory size exhausted |
内存不足 |
Maximum execution time |
超时 |
Class not found |
autoload / composer |
Permission denied |
文件权限 |
你可以直接贴: