PHP 500 Internal Server Error?php 500 internal server error解决,已解决
碰到这种情况先做备份,任何操作都要有回滚方案。
500是服务器内部错误,意思是服务器端程序出问题了,但具体什么错误被隐藏了。第一步查错误日志,Nginx错误日志在/var/log/nginx/error.log,PHP错误日志在/var/log/php-fpm/或php.ini里指定的路径。看最后几行的Fatal error,行号和文件路径直接指向问题代码。
第二步开启错误显示临时调试。在index.php最顶部加ini_set('display_errors', 1); error_reporting(E_ALL);,刷新页面就能看到具体报错。WordPress在wp-config.php里加define('WP_DEBUG', true); define('WP_DEBUG_DISPLAY', true);。看到错误信息后就好定位了,是语法错误、内存不足还是调用了不存在的函数。
第三步根据报错处理。最常见的是.htaccess配置错误,Apache环境把.htaccess重命名测试。文件权限错误在Linux上统一设目录755文件644。内存不足在php.ini把memory_limit调到256M。插件冲突进FTP把plugins目录重命名,逐个启用定位冲突插件。
宝塔面板500先看PHP版本是否匹配。PHP7.x跑PHP5的老代码会报语法错误,切换PHP版本试试。宝塔面板进软件商店PHP管理,可以安装多个版本切换。还有可能是PHP扩展没装,比如curl、gd、mbstring,代码调用了未安装的扩展函数就会500。
500和502的区别要清楚。500是后端程序执行出错,PHP代码有bug、配置错误、权限不对都是500。502是Nginx连不上后端PHP-FPM,PHP-FPM没启动、端口不对、进程崩溃是502。两个错误的排查方向完全不同,500查代码和配置,502查PHP-FPM服务状态。
排查完记得做个备份,下次出问题恢复更快。

更新时间:2026-08-26 20:48:10