PHP 8.4: Opcache: Изменения в INI, влияющие на включение JIT
До версии PHP 8.4 значения по умолчанию в INI для PHP были следующими:
opcache.jit=tracing
opcache.jit_buffer_size=0
JIT включается установкой INI-значения opcache.jit_buffer_size
, что не так интуитивно понятно, поскольку опция opcache.jit
также принимает значение opcache.jit=disable
.
opcache.jit=tracing
-opcache.jit_buffer_size=0
+opcache.jit_buffer_size=64M
В PHP 8.4 значения по умолчанию для этих двух опций конфигурации изменены следующим образом. JIT по прежнему по умолчанию отключён в PHP 8.4. Единственное отличие заключается в том, что значения по умолчанию для INI-значений изменились.
-opcache.jit=tracing
+opcache.jit=disable
-opcache.jit_buffer_size=0
+opcache.jit_buffer_size=64M
Обратите внимание, что даже при изменении значения по умолчанию JIT по умолчанию отключён.
Влияние на обратную совместимость
Это значение по умолчанию изменено, но JIT по прежнему отключён по умолчанию. Приложения, не изменяющие значения конфигурации opcache.jit*
по умолчанию, не получат никаких последствий.
PHP-приложениям, которые включали JIT исключительно с помощью значения opcache.jit_buffer_size
, необходимо включить JIT с opcache.jit=tracing
, поскольку значение opcache.jit
по умолчанию изменилось с tracing
на disable
в PHP 8.4.
; Включение JIT, и установка размера буфера в 128МБ.
+opcache.jit=tracing
opcache.jit_buffer_size=128M
- PHP RFC: Change how JIT is disabled by default
- [RFC] [Discussion] Change how JIT is disabled by default
- Реализация