PHP 8.1.21 的 JIT 将导致 503 服务器错误

问题描述 投票:0回答:1

我尝试按照此处的说明在 PHP 8.1.21 中启用 JIT

我将JIT缓冲区大小设置为256M,如下:

opcache.jit_buffer_size=256M

我还启用了 opcache.enable_cli,因为本文建议我这样做

opcache.enable=1
opcache.enable_cli=1

之后,我重新启动 PHP FPM 服务。

然后我检查

https://www.example.com/opcache.php
,一切都正确,jit 缓冲区大小为 256MB。 然后我检查
https://www.example.com/phpinfo.php
,这也显示 JIT 已打开。

然后我访问测试站点上的一个页面,

https://www.example.com/
,我会收到“503 Service Unavailable error”。

然后如果我回到

https://www.example.com/opcache.php
,我也会得到503错误。

看来一旦我们尝试使用JIT,就会出现503错误。为什么?

我检查了 Apache 错误日志,并看到以下内容:

[Wed Jul 19 09:40:46.504648 2023] [proxy_fcgi:error] [pid 5914:tid 47200906626816] [remote 79.107.70.235:1854] AH01067: Failed to read FastCGI header
[Wed Jul 19 09:40:46.504677 2023] [proxy_fcgi:error] [pid 5914:tid 47200906626816] (104)Connection reset by peer: [remote 79.107.70.235:1854] AH01075: Error dispatching request to :

更新:

PHP版本是8.1.21。

php jit opcache
1个回答
1
投票

您正在使用 PHP<=8.1.14 and hitting PHP bug GH-9981 ?!

在这种情况下,解决方案是升级到 PHP>=8.1.15,因为该 bug 在 PHP8.1.15 中已修复。 (但最好升级到 PHP >=8.1.21。)

© www.soinside.com 2019 - 2024. All rights reserved.