WordPress和B2主题在使用PHP8.0或以上的版本提示502 Bad Gateway多种解决方案

这段时间发现网站时不时的提示:502 Bad Gateway

柒比贰B2主题解决方案

我用的是7B2主题,柒比贰B2主题使用的是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.jitopcache.jit=0 或者 opcache.jit=0
如果是宝塔面板
在PHP配置文件中,找到opcache.jit和opcache.jit_buffer_size这两个参数。
将opcache.jit的值设置为off或disable。
将opcache.jit_buffer_size的值设置为0。

客户端请求头缓冲区解决方案

问题可能出现NGINX在client_header_buffer_size配置,假设当前的client_header_buffer_size配置为1k。如果请求行和请求头的大小未超过1k,请求将被放行。然而,如果请求行和请求头的大小超过1k,就会出现502错误。

造成502错误的可能原因是请求响应头太大。通常情况下,前端向后台调用接口时会在header请求头中传递较大的token值,导致请求头过大,进而触发502错误。

为了解决这个问题,您可以尝试增加client_header_buffer_size的大小。

附注:记得修改后重启PHP或者NGINX

文章版权归原作者所有或来自互联网,未经允许请勿转载。如有侵权请联系我删除,谢谢!
THE END
分享
二维码
打赏
< <上一篇
下一篇>>
文章目录
关闭
目 录