mbstring 扩展本身并不会导致 502 错误。 如果同时安装了 OPcache 和 mbstring 后出现的 502,问题几乎可以肯定是 OPcache 引起的
为什么安装了 OPcache 就会 502?
问题的根源在于 PHP 8.4.21 版本中,OPcache 扩展的 JIT(即时编译)功能与当前环境存在不兼容。这可能会导致 PHP-FPM 进程因为”段错误”而崩溃,Nginx 在无法连接到后端时就会返回 502 错误。
解决方案(二选一)
方案一:关闭 OPcache 的 JIT 功能(推荐,保留基础缓存)
这个方法可以保留 OPcache 的脚本缓存加速能力,同时解决 502 错误。
1. 定位配置文件: 在宝塔面板的 软件商店 -> PHP 8.4 设置 -> 配置文件 中修改。
2. 修改参数: 在配置文件中找到 opcache.jit_buffer_size 这一行,将其值改为 0。如果找不到这行,可以手动添加。
修改前:
opcache.jit_buffer_size=128m
修改后:
opcache.jit_buffer_size=0
这个修改会关闭 JIT 功能,但 OPcache 的字节码缓存功能依然生效,对绝大多数网站的性能影响很小。
最后重启 PHP
方案二:暂时卸载 OPcache 扩展
如果修改 JIT 配置后问题依旧,或者想彻底排查,可以直接卸载 OPcache 扩展。
1. 在宝塔面板的 PHP 8.4 设置中,切换到 安装扩展 标签页。
2. 找到 opcache,点击 卸载。
3. 卸载后网站会立即恢复正常。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END







暂无评论内容