38、PHP 8.4 方法或功能修改 - Opcache:INI 对 JIT 的启用方式进行了更改

作者: 温新

图书: 【PHP 8.4 新特性】

阅读: 172

时间: 2025-01-18 08:39:18

在 PHP 8.4 中,针对 Opcache(PHP 的字节码缓存机制),特别是与 JIT(Just-In-Time 编译)相关的配置方式进行了调整。这些更改主要体现在 INI 配置项的修改和 JIT 启用方式的变化。接下来详细解释这些更改及其影响。

在 PHP 8.4 之前,PHP 的默认 INI 配置值为:

opcache.jit=tracing
opcache.jit_buffer_size=0

JIT 是通过设置 opcache.jit_buffer_size INI 值来启用的,这并不那么直观,因为 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 仍处于禁用状态。不修改默认 opcache.jit* 配置值的应用程序不会产生任何影响。

仅使用 opcache.jit_buffer_size 配置值启用 JIT 的 PHP 应用程序将需要使用 opcache.jit=tracing 启用 JIT,因为在 PHP 8.4 中,opcache.jit 的默认值已从 tracing 更改为 disable

; Enable JIT, and set buffer size to 128 MB.
+opcache.jit=tracing
opcache.jit_buffer_size=128M
请登录后再评论