智能诊断 · 全栈排查 · 最佳实践
HTTP 500 Internal Server Error 表示服务器遇到了意外状况,无法完成请求。这是通用错误码,不针对客户端,而是服务端内部故障。无论使用 Nginx、Apache、IIS 还是 云函数,500 都意味着“服务器出错了”。
常见表现:页面空白、显示“500 内部错误”、或者浏览器返回“该页面无法正常运作”。本指南将帮助您快速定位并修复问题。
服务器内部错误 · 智能排查流程图
PHP 未闭合的括号、Python 缩进异常、Node.js 未捕获异常等。
Nginx 配置错误、Apache 重写规则冲突、Web.config 格式错误。
数据库连接池占满、磁盘写满、内存溢出 (OOM) 或 CPU 100% 。
数据库连接失败、Redis 不可用、外部接口 5xx 上游错误。
/var/log/nginx/error.log 或 storage/logs/laravel.logdisplay_errors=On (PHP) 或 DEBUG=True (Django).htaccess 测试是否为规则问题755 目录、644 文件,尤其 runtime 可写free -m / df -h / top 排查内存与磁盘💡 智能提示:
使用 strace 或 Xdebug 追踪慢查询与异常;容器环境请检查 docker logs。
日志 + 命令行双验证,定位 500 根源。
通常是某个特定脚本或插件导致。排查思路:禁用最近安装的插件/模块;检查错误日志中对应URL的异常堆栈;对比 .htaccess 中针对该路径的规则。
PHP 版本升级可能导致弃用函数或扩展不兼容。建议:1) 列出弃用函数清单;2) 安装对应扩展 (如 php-mysql 改为 php-mysqli);3) 使用 error_reporting(E_ALL) 显示所有错误。
500 服务器内部错误;502 网关错误 (上游无响应);503 服务暂时不可用 (过载/维护)。三者定位不同,500 重点排查应用本身。
1) 通过 FTP 重命名 plugins 文件夹为 plugins_old;2) 切换默认主题;3) 增加 define('WP_DEBUG', true); 到 wp-config.php 查看具体错误。通常为插件冲突。
检查 storage/logs 目录是否可写;运行 php artisan config:clear 和 php artisan cache:clear;确认 .env 无语法错误;PHP-FPM 错误日志也可能单独记录。
自定义错误页面:Nginx 设置 error_page 500 /500.html;并提供联系渠道、错误ID (用于追踪)。同时邮件通知开发者。