CentOS 上 PHP 故障排查步骤
一 快速定位与日志优先
二 常见故障与处理对照表
| 症状 | 优先检查 | 快速修复 |
|---|---|---|
| 502/504、页面空白 | php-fpm 是否存活、监听地址与 Web 一致、进程/连接数是否耗尽 | systemctl restart php-fpm;检查 pm.max_children、listen 与 upstream 配置 |
| 500 内部错误 | PHP 错误日志、语法/依赖/权限 | 修复语法、安装缺失扩展(如 yum install php-mysqli)、修正目录权限 |
| 数据库连接失败 | DB 主机/端口/账号/密码、网络连通、SELinux/防火墙 | 校验配置、测试 mysql -h host -P port -u user -p、开放防火墙、必要时 setsebool 放开 httpd 访问 DB |
| 文件上传/写入失败 | 目录属主与权限、open_basedir、磁盘空间 | chown/chmod 正确属主与权限、检查 open_basedir、df -h |
| 类/函数未定义 | 扩展未安装或版本不匹配 | yum install 对应扩展(如 php-gd、php-mbstring、php-curl 等) |
| 页面只显示代码或下载 | PHP 未被解析 | 确认 Nginx fastcgi_pass 指向 php-fpm;Apache 确认已加载 libphp 模块与 .php 处理规则 |
三 配置与权限检查要点
四 最小复现与验证
五 高频场景速解