温馨提示×

debian php出错怎么排查

小樊
33
2026-10-16 19:13:53
栏目: 编程语言

在 Debian 上排查 PHP 出错,一般按「看错误在哪一层」来逐步定位。下面是一套比较实用的排查思路。


一、先确认 PHP 是否正常工作

php -v

如果命令不存在:

which php
# 或
ls /usr/bin/php*

未安装则:

sudo apt update
sudo apt install php php-cli

二、命令行 PHP 脚本出错(CLI)

1. 直接运行看报错

php /path/to/script.php

2. 打开错误显示(临时)

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

3. 查看 php.ini

php --ini

常见关键项:

display_errors = On
error_reporting = E_ALL
log_errors = On

修改后重启相关服务(如 fpm)。


三、Web 环境(Nginx / Apache)PHP 出错

1. 查看 Web 服务器错误日志

Nginx

sudo tail -f /var/log/nginx/error.log

Apache

sudo tail -f /var/log/apache2/error.log

2. 查看 PHP 错误日志

php --ini

找到:

error_log = /var/log/php_errors.log

查看:

sudo tail -f /var/log/php_errors.log

3. Nginx + PHP-FPM 常见错误

502 Bad Gateway

sudo systemctl status php-fpm
# 或
sudo systemctl status php8.2-fpm

重启:

sudo systemctl restart php8.2-fpm
sudo systemctl restart nginx

网站白屏

  • display_errors 未开
  • PHP 崩溃(看 php-fpm 日志)

四、权限问题(非常常见)

1. 文件权限

ls -l /var/www/html

一般:

sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html

2. 写目录权限

如 cache/、storage/

sudo chmod -R 775 storage
sudo chown -R www-data:www-data storage

五、扩展缺失或版本问题

查看已加载扩展

php -m

安装常见扩展

sudo apt install php-mysql php-curl php-mbstring php-xml php-gd

注意 PHP 版本要一致(如 php8.2)


六、快速定位“是哪一层错”

现象 可能原因
php -v 报错 PHP 未安装 / 路径错
CLI 正常,Web 报错 php-fpm / web 配置
白屏 错误被隐藏
502 php-fpm 挂了
404 rewrite / 路径
权限 denied 用户 / 目录权限

七、一个通用排查顺序(推荐)

  1. php -v
  2. 跑 CLI 脚本
  3. 开 display_errors
  4. 看 nginx/apache 日志
  5. 看 php 错误日志
  6. 检查 php-fpm 状态
  7. 检查权限和扩展

如果你能贴出:

  • Debian 版本
  • PHP 版本
  • Web 服务器(Nginx / Apache)
  • 具体报错信息或现象

我可以帮你更精确地定位。

0 踩