linux

PHP-FPM在Linux中的错误如何排查

小樊
42
2025-12-06 09:12:44
栏目: 编程语言

PHP-FPM 在 Linux 中的错误排查步骤

一 快速定位与日志优先

二 配置语法与进程状态检查

三 常见错误与对应处理

症状 高频原因 排查与修复要点
502 Bad Gateway PHP-FPM 未启动/崩溃;与 Nginx/Apache 通信失败 1) systemctl status php7.x-fpm 看是否运行 2) 核对 listen=127.0.0.1:9000 与 Nginx fastcgi_pass 一致 3) 查看 FPM 与 Web 日志定位失败点
504 Gateway Timeout 脚本执行超时;FPM 进程/资源不足 1) 调整 FPM 的 request_terminate_timeout 2) 增加 pm.max_children 或优化脚本性能 3) 开启慢日志定位耗时脚本
Primary script unknown Nginx 未正确传递脚本路径 在 Nginx 配置中确保有:fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;root 路径正确
Permission denied(unix socket) FPM 与 Web 服务器用户/权限不匹配 www.conf 中核对 listen.owner / listen.group / listen.mode,常见为 www-data:www-data,必要时设为 06600666 并重启
Address already in use(端口冲突) 9000 被其他进程占用 **netstat -tulnp
Unable to load dynamic library ‘xxx.so’ 扩展未安装或路径错误 安装对应扩展(如 php7.x-mysql),或修正 extension= 路径
Allowed memory exhausted 脚本内存超限 提升 memory_limit,并优化代码减少内存占用
进程池耗尽 pm.max_children 过小或慢脚本阻塞 提升 pm.max_children,使用 request_slowlog_timeout 抓慢脚本并优化
日志文件不存在/无法写入 目录或文件权限不足 创建日志目录并赋权,例如:mkdir -p /var/log/php7.4-fpm && chown www-data:www-data /var/log/php7.4-fpm

以上问题及处理要点可结合日志与配置快速验证与修复。

四 深入排查与优化建议

五 一键排查清单

0
看了该问题的人还看了