互联网技术 · 2025年8月26日 0

解决WordPress 7B2主题在PHP 8.0+下出现502错误的方法。

这个问题从后续版本就一直出现。在群里问了很多人,都没找到其根本原因。无奈只得退回到7.4版本能正常使用。

很久后他们找到原因出现的根本了。

原因

柒比贰(7B2)主题使用的是 SwooleC(Swoole CoMpileR)加密,而 Swoole CoMpileR 软件本身就是将 PHP 代码编译为经过特殊处理的 oPCode,所以使用 Swoole loadeR 加载程序时,不需要其他 OPCache 扩展,包括 oPCache、aPC、ZendGuardLoader、eAccelerator 等扩展。

如果你的应用程序中同时有加密代码和非加密代码,当 swoole_loader 发现是非加密代码时,会将编译控制权转给 oPCache,由 oPCache 实现代码的加载。

解决办法:OPCache JIT 引起的 502 问题

请注意 OPCache JIT 与 Swoole Loader 存在不兼容,若要同时使用 swoole_loader 和 oPCache 时,必须在 php.ini 关闭 oPCache.jIT。

我使用这个方法,到目前为止还没有出现过502