PHP 8.4: Opcache: INI 对 JIT 启用方式的更改
PHP 8.0 添加了 JIT 编译支持。默认禁用 JIT,并且有两个切换切换开关,opchache.jit
及 opcache.jit_buffer_size
用来控制 PHP 主要的功能模式以及 JIT 使用的缓冲大小(buffer size)。
在 PHP 8.4 之前,其默认的 INI 配置值为:
opcache.jit=tracing
opcache.jit_buffer_size=0
设置 opcache.jit_buffer_size
INI 值可以启用 JIT,这不并不直观,因为 opcache.jit
也接受 opcache.jit=disable
值。
opcache.jit=tracing
-opcache.jit_buffer_size=0
+opcache.jit_buffer_size=64M
在 PHP 8.4 中,这两个配置项的默认值也做了如下修改。在 PHP 8.4 中,JIT 仍然默认是禁用的。唯一的差别是 INI 的默认值做了修改。
-opcache.jit=tracing
+opcache.jit=disable
-opcache.jit_buffer_size=0
+opcache.jit_buffer_size=64M
注意即使默认值做了修改,JIT 默认仍然是禁用的。
向后兼容性影响
这是对默认值的修改,不过 JIT 仍然默认禁用。未修改默认 opchache.jit*
配置值的应用不会有任何影响。
单独使用 opcache.jit_buffer_size
配置值启用 JIT 的 PHP 应用,需要使用 opcache.jit=tracing
来启用 JIT,因为 opcache.jit
的默认值在 PHP 8.4 中已经从 tracing
改为 disable
。
; Enable JIT, and set buffer size to 128 MB.
+opcache.jit=tracing
opcache.jit_buffer_size=128M