我尝试按照此处的说明在 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<=8.1.14 and hitting PHP bug GH-9981 ?!
在这种情况下,解决方案是升级到 PHP>=8.1.15,因为该 bug 在 PHP8.1.15 中已修复。 (但最好升级到 PHP >=8.1.21。)