Настройка Π²ΠΎ врСмя выполнСния

ПовСдСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ зависит ΠΎΡ‚ установок Π² Ρ„Π°ΠΉΠ»Π΅ php.ini.

ΠžΠΏΡ†ΠΈΠΈ настройки модуля OPcache
Имя По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠœΠ΅ΡΡ‚ΠΎ измСнСния Бписок ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
opcache.enable 1 INI_ALL Β 
opcache.enable_cli 0 INI_SYSTEM ΠœΠ΅ΠΆΠ΄Ρƒ PHP 7.1.2 ΠΈ 7.1.6 Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±Ρ‹Π»ΠΎ Ρ€Π°Π²Π½ΠΎ 1
opcache.memory_consumption 128 INI_SYSTEM Β 
opcache.interned_strings_buffer 8 INI_SYSTEM Β 
opcache.max_accelerated_files 10000 INI_SYSTEM Β 
opcache.max_wasted_percentage 5 INI_SYSTEM Β 
opcache.use_cwd 1 INI_SYSTEM Β 
opcache.validate_timestamps 1 INI_ALL Β 
opcache.revalidate_freq 2 INI_ALL Β 
opcache.revalidate_path 0 INI_ALL Β 
opcache.save_comments 1 INI_SYSTEM Β 
opcache.fast_shutdown 0 INI_SYSTEM Β 
opcache.enable_file_override 0 INI_SYSTEM Β 
opcache.optimization_level 0x7FFEBFFF INI_SYSTEM Π”ΠΎ PHP 7.3.0 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΡΠ»ΠΎΡΡŒ 0x7FFFBFFF
opcache.inherited_hack 1 INI_SYSTEM Π£Π΄Π°Π»ΠΈΠ»ΠΈ Π² PHP 7.3.0
opcache.dups_fix 0 INI_ALL Β 
opcache.blacklist_filename "" INI_SYSTEM Β 
opcache.max_file_size 0 INI_SYSTEM Β 
opcache.consistency_checks 0 INI_ALL ΠžΠΏΡ†ΠΈΡŽ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ с PHP 8.1.18 ΠΈ 8.2.5 ΠΈ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ Π² PHP 8.3.0
opcache.force_restart_timeout 180 INI_SYSTEM Β 
opcache.error_log "" INI_SYSTEM Β 
opcache.log_verbosity_level "1" INI_SYSTEM Β 
opcache.record_warnings 0 INI_SYSTEM ΠžΠΏΡ†ΠΈΡ доступна с PHP 8.0.0
opcache.preferred_memory_model "" INI_SYSTEM Β 
opcache.protect_memory 0 INI_SYSTEM Β 
opcache.mmap_base null INI_SYSTEM ΠžΠΏΡ†ΠΈΡ доступна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ОБ Windows
opcache.restrict_api "" INI_SYSTEM Β 
opcache.file_update_protection 2 INI_ALL Β 
opcache.huge_code_pages 0 INI_SYSTEM Β 
opcache.lockfile_path "/tmp" INI_SYSTEM Β 
opcache.opt_debug_level 0 INI_SYSTEM ΠžΠΏΡ†ΠΈΡ доступна с PHP 7.1.0
opcache.file_cache null INI_SYSTEM Β 
opcache.file_cache_only 0 INI_SYSTEM Β 
opcache.file_cache_consistency_checks 1 INI_SYSTEM Β 
opcache.file_cache_fallback 1 INI_SYSTEM Β 
opcache.validate_permission 0 INI_SYSTEM ΠžΠΏΡ†ΠΈΡ доступна с PHP 7.0.14
opcache.validate_root 0 INI_SYSTEM ΠžΠΏΡ†ΠΈΡ доступна с PHP 7.0.14
opcache.preload "" INI_SYSTEM ΠžΠΏΡ†ΠΈΡ доступна с PHP 7.4.0
opcache.preload_user "" INI_SYSTEM ΠžΠΏΡ†ΠΈΡ доступна с PHP 7.4.0
opcache.cache_id "" INI_SYSTEM ΠžΠΏΡ†ΠΈΡ доступна с PHP 7.4.0 Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ОБ Windows
opcache.jit "tracing" INI_ALL ΠžΠΏΡ†ΠΈΡ доступна с PHP 8.0.0
opcache.jit_buffer_size 0 INI_SYSTEM ΠžΠΏΡ†ΠΈΡ доступна с PHP 8.0.0
opcache.jit_debug 0 INI_ALL ΠžΠΏΡ†ΠΈΡ доступна с PHP 8.0.0
opcache.jit_bisect_limit 0 INI_ALL ΠžΠΏΡ†ΠΈΡ доступна с PHP 8.0.0
opcache.jit_prof_threshold 0.005 INI_ALL ΠžΠΏΡ†ΠΈΡ доступна с PHP 8.0.0
opcache.jit_max_root_traces 1024 INI_SYSTEM ΠžΠΏΡ†ΠΈΡ доступна с PHP 8.0.0
opcache.jit_max_side_traces 128 INI_SYSTEM ΠžΠΏΡ†ΠΈΡ доступна с PHP 8.0.0
opcache.jit_max_exit_counters 8192 INI_SYSTEM ΠžΠΏΡ†ΠΈΡ доступна с PHP 8.0.0
opcache.jit_hot_loop 61 INI_SYSTEM ΠžΠΏΡ†ΠΈΡ доступна с PHP 8.0.0. Π”ΠΎ PHP 8.5.0 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±Ρ‹Π»ΠΎ 64
opcache.jit_hot_func 127 INI_SYSTEM ΠžΠΏΡ†ΠΈΡ доступна с PHP 8.0.0
opcache.jit_hot_return 8 INI_SYSTEM ΠžΠΏΡ†ΠΈΡ доступна с PHP 8.0.0
opcache.jit_hot_side_exit 8 INI_SYSTEM ΠžΠΏΡ†ΠΈΡ доступна с PHP 8.0.0
opcache.jit_blacklist_root_trace 16 INI_ALL ΠžΠΏΡ†ΠΈΡ доступна с PHP 8.0.0
opcache.jit_blacklist_side_trace 8 INI_ALL ΠžΠΏΡ†ΠΈΡ доступна с PHP 8.0.0
opcache.jit_max_loop_unrolls 8 INI_ALL ΠžΠΏΡ†ΠΈΡ доступна с PHP 8.0.0
opcache.jit_max_recursive_calls 2 INI_ALL ΠžΠΏΡ†ΠΈΡ доступна с PHP 8.0.0
opcache.jit_max_recursive_returns 2 INI_ALL ΠžΠΏΡ†ΠΈΡ доступна с PHP 8.0.0
opcache.jit_max_polymorphic_calls 2 INI_ALL ΠžΠΏΡ†ΠΈΡ доступна с PHP 8.0.0
Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ опрСдСлСния Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² INI_* Π΄Π°Ρ‘Ρ‚ Ρ€Π°Π·Π΄Π΅Π» Β«ΠœΠ΅ΡΡ‚Π° установки ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΒ».

ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ Ρ€Π°Π·ΡŠΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ².

opcache.enable bool
Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ кСш ΠΎΠΏΠΊΠΎΠ΄ΠΎΠ². Код Π½Π΅ оптимизируСтся ΠΈ Π½Π΅ ΠΊΠ΅ΡˆΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ, Ссли ΠΎΠΏΡ†ΠΈΡŽ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ. ΠžΠΏΡ†ΠΈΡŽ opcache.enable нСльзя Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π²ΠΎ врСмя выполнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ini_set(), Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ Π² скриптС выдаст ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅.
opcache.enable_cli bool
Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ кСш ΠΎΠΏΠΊΠΎΠ΄ΠΎΠ² для CLI-вСрсии PHP.
opcache.memory_consumption int
Π Π°Π·ΠΌΠ΅Ρ€ раздСляСмой памяти Π² ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Π°Ρ… для OPcache. Минимально допустимоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” 8, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ кСш ΠΎΠΏΠΊΠΎΠ΄ΠΎΠ² Π·Π°ΠΉΠΌΡ‘Ρ‚, Ссли установили Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ мСньшС.
opcache.interned_strings_buffer int
ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ памяти Π² ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Π°Ρ… для хранСния ΠΈΠ½Ρ‚Π΅Ρ€Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… строк. МаксимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” 32 767 Π½Π° 64-разрядных Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ… ΠΈ 4095 Π½Π° 32-разрядных Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ….

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π”ΠΎ PHP 8.4.0 максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ составляло 4095 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚ Π½Π° всСх Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ….

opcache.max_accelerated_files int
МаксимальноС количСство ΠΊΠ»ΡŽΡ‡Π΅ΠΉ (ΠΈ, соотвСтствСнно, скриптов) Π² Ρ…Π΅Ρˆ-Ρ‚Π°Π±Π»ΠΈΡ†Π΅ OPcache. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ кСш ΠΎΠΏΠΊΠΎΠ΄ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΈΡ‚ΠΎΠ³Π΅, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ числом ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° { 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987, 262237, 524521, 1048793 }, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ установили для этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°. МинимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ составляСт 200, Π° максимальноС β€” 1 000 000. ЗначСния Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ этого Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ допустимым Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ.
opcache.max_wasted_percentage int
ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ памяти, ΠΏΡ€ΠΈ достиТСнии ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚ пСрСзапуск, Ссли свободной памяти нСдостаточно. Максимально допустимоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: 50, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ кСш ΠΎΠΏΠΊΠΎΠ΄ΠΎΠ² Π·Π°ΠΉΠΌΡ‘Ρ‚, Ссли установили Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ большС.
opcache.use_cwd bool
ΠŸΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΎΠΏΡ†ΠΈΠΈ OPcache добавляСт Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ ΠΊ ΠΊΠ»ΡŽΡ‡Ρƒ скрипта, Ρ‡Π΅ΠΌ устраняСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΉ для Ρ„Π°ΠΉΠ»ΠΎΠ² с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ основным ΠΈΠΌΠ΅Π½Π΅ΠΌ. ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ этой Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ сбоям ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
opcache.validate_timestamps bool

ΠŸΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΎΠΏΡ†ΠΈΠΈ OPcache Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… скриптов ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ opcache.revalidate_freq сСкунд. ΠŸΡ€ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ трСбуСтся ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ OPcache Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ функциями opcache_reset() ΠΈ opcache_invalidate() ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π²Π΅Π±-сСрвСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ измСнСния Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС вступили Π² силу.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: OPcache ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΊΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° Π²ΠΎ врСмя компиляции, Ссли для ΠΎΠΏΡ†ΠΈΠΉ opcache.file_update_protection ΠΈΠ»ΠΈ opcache.max_file_size установили Π½Π΅Π½ΡƒΠ»Π΅Π²Ρ‹Π΅ значСния.

opcache.revalidate_freq int
Как часто Π² сСкундах ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ обновлСния ΠΌΠ΅Ρ‚ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ скрипта. ΠŸΡ€ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ 0 OPcache Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ обновлСния ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запросС. ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ эту Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Ссли ΠΎΠΏΡ†ΠΈΡŽ opcache.validate_timestamps ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ.
opcache.revalidate_path bool
ΠŸΡ€ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΎΠΏΡ†ΠΈΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ кСша, ΠΏΡƒΡ‚ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТат ΠΏΡƒΡ‚ΡŒ ΠΈΠ· списка include_path. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» с Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ путям списка include_path.
opcache.save_comments bool
ΠŸΡ€ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΎΠΏΡ†ΠΈΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ отбрасываСт ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ для Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈΠ· кСша ΠΎΠΏΠΊΠΎΠ΄ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ этой Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΏΡ€ΠΎΠ²ΠΎΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сбой Π² Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½Π° Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ Π² коммСнтариях, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Doctrine, Zend Framework 2 ΠΈ PHPUnit.
opcache.fast_shutdown bool
ΠŸΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΎΠΏΡ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ быстрого Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹, которая Π½Π΅ освобоТдаСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ памяти, Π° полагаСтся Π½Π° ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ памяти Π΄Π²ΠΈΠΆΠΊΠ° Zend Engine для массового освобоТдСния всСго Π½Π°Π±ΠΎΡ€Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запроса. Π­Ρ‚Ρƒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ Π² PHP 7.2.0. Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ быстрого Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π² PHP ΠΈ кСш ΠΎΠΏΠΊΠΎΠ΄ΠΎΠ² ΠΏΠΎ возмоТности Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ автоматичСски.
opcache.enable_file_override bool
ΠŸΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΎΠΏΡ†ΠΈΠΈ ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ file_exists(), is_file() ΠΈ is_readable() ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, содСрТит Π»ΠΈ ΡƒΠΆΠ΅ кСш ΠΎΠΏΠΊΠΎΠ΄ΠΎΠ² Ρ„Π°ΠΉΠ». ΠžΠΏΡ†ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ для чтСния PHP-скриптов, Π½ΠΎ рискуСт Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅, Ссли ΠΎΠΏΡ†ΠΈΡŽ opcache.validate_timestamps ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ.
opcache.optimization_level int
Битовая маска, которая ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ шаги ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ являСтся 0x7FFEBFFF, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ всС бСзопасныС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ нСбСзопасных ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ Π² основном ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ/Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€Π°. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π±ΠΈΡ‚ Π² Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΉ маскС Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ этап ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ:
Маска Π±ΠΈΡ‚ΠΎΠ² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ
Π‘ΠΈΡ‚ НазваниС ОписаниС По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
0 PASS_1 ΠŸΡ€ΠΎΡΡ‚Π°Ρ оптимизация Peephole On
1 PASS_2 НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ (ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Ρ‘Π½ с PASS_1) On
2 PASS_3 ΠŸΡ€ΠΎΡΡ‚Π°Ρ оптимизация JuMP On
3 PASS_4 ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Call On
4 PASS_5 ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Π½Π° основС Π³Ρ€Π°Ρ„Π° управлСния ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ On
5 PASS_6 ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Π½Π° основС Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… On
6 PASS_7 Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° основС SSA On
7 PASS_8 Π Π΅Π΄ΠΊΠΎΠ΅ распространСниС условных констант On
8 PASS_9 ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… On
9 PASS_10 Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ NOP On
10 PASS_11 Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² On
11 PASS_12 ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ расчСт Ρ€Π°Π·ΠΌΠ΅Ρ€Π° стСка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² On
12 PASS_13 Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… On
13 PASS_14 Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΌΡ‘Ρ€Ρ‚Π²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° On
14 PASS_15 Π‘Π±ΠΎΡ€ ΠΈ Π·Π°ΠΌΠ΅Π½Π° объявлСний констант (нСбСзопасно) Off
15 PASS_16 ВстраиваниС Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ²) On
16 (Flag) Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° (нСбСзопасно) Off

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: БСзопасныС ΠΈ нСбСзопасныС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ
БСзопасныС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ (Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ) ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° PHP, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Ρ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π’ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΌΡ‘Ρ€Ρ‚Π²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, сворачиваниС констант ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ². НСбСзопасныС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Ρ… случаях:

  • Π‘ΠΈΡ‚ 14: Π‘Π±ΠΎΡ€ констант. ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ ΠΏΠΎΠ΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя компиляции, игнорируя порядок объявлСния Π²ΠΎ врСмя выполнСния:
    <?php
    echo getA(); // Π’Ρ‹Π²ΠΎΠ΄: "hello" вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ
    const A = "hello";
    function
    getA() { return A; }
  • Π‘ΠΈΡ‚ 16: Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². НСбСзопасно ΠΏΡ€ΠΈ использовании классов с do_operation (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, GMP, BCMath) Π² арифмСтичСских опСрациях. ΠŸΡ€ΠΈ объявлСнии Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ бСзопасно ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ‚Π΅ ΠΆΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.
opcache.inherited_hack bool
Π­Ρ‚Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ игнорируСтся.
opcache.dups_fix bool
Π­Ρ‚ΠΎΡ‚ Ρ…Π°ΠΊ трСбуСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΠ±Ρ…ΠΎΠ΄Π° ошибок «НСвозмоТно ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ класс» (Cannot redeclare class).
opcache.blacklist_filename string
РасполоТСниС Ρ„Π°ΠΉΠ»Π° Ρ‡Ρ‘Ρ€Π½ΠΎΠ³ΠΎ списка OPcache. Π€Π°ΠΉΠ» Ρ‡Ρ‘Ρ€Π½ΠΎΠ³ΠΎ списка β€” тСкстовый Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΠΊΠΎΡ€ΡΡ‚ΡŒ, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ записи Π½Π° строку. Π”ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ подстановочныС Π·Π½Π°ΠΊΠΈ, Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ прСфиксы. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Ρ‚ΠΎΡ‡ΠΊΠΈ с запятой, ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ простого Ρ‡Ρ‘Ρ€Π½ΠΎΠ³ΠΎ списка:
; БоотвСтствуСт ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ.
/var/www/broken.php
; ΠŸΡ€Π΅Ρ„ΠΈΠΊΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соотвСтствуСт ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ начинаСтся с Β«xΒ».
/var/www/x
; БоотвСтствуСт подстановочному Π·Π½Π°ΠΊΡƒ.
/var/www/*-broken.php
opcache.max_file_size int
ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° для ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π² Π±Π°ΠΉΡ‚Π°Ρ…. ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎ 0.
opcache.consistency_checks int
Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠ΅, OPcache Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΡƒΡŽ сумму кСша ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ N запросов, Π³Π΄Π΅ N β€” Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этой Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. РСкомСндуСтся Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ опция сниТаСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠžΠΏΡ†ΠΈΡŽ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ с PHP 8.1.18 ΠΈ 8.2.5 ΠΈ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ Π² PHP 8.3.0.

opcache.force_restart_timeout int
ВрСмя оТидания Π½Π°Ρ‡Π°Π»Π° Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ пСрСзапуска Π² сСкундах ΠΏΡ€ΠΈ Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ кСшС. Если врСмя оТидания истСкло, OPcache Ρ€Π΅ΡˆΠ°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ, ΠΈ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ пСрСзапуск, Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ процСссы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π² кСшС. Если для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° opcache.log_verbosity_level установили Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 2 ΠΈΠ»ΠΈ большС, Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ситуации с ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ оТидания, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ Π² Π»ΠΎΠ³ ошибок ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅. Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° Π½Π΅ поддСрТиваСтся Π² ОБ Windows.
opcache.error_log string
ΠŸΡƒΡ‚ΡŒ ΠΊ Π»ΠΎΠ³Ρƒ ошибок OPcache. ΠŸΡƒΡΡ‚Π°Ρ строка обрабатываСтся ΠΊΠ°ΠΊ stderr, ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ Π»ΠΎΠ³ΠΎΠ² Π² стандартный ΠΏΠΎΡ‚ΠΎΠΊ ошибок (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это Π»ΠΎΠ³ ошибок Π²Π΅Π±-сСрвСра).
opcache.log_verbosity_level int
Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π»ΠΎΠ³Π° ошибок. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„Π°Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ошибки (ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ 0) ΠΈ ошибки (ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ 1). Π”Ρ€ΡƒΠ³ΠΈΠ΅ доступныС ΡƒΡ€ΠΎΠ²Π½ΠΈ: прСдупрСТдСния (ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ 2), ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ сообщСния (ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ 3) ΠΈ сообщСния ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ (ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ 4).
opcache.record_warnings bool
ΠŸΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΎΠΏΡ†ΠΈΠΈ OPcache Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ прСдупрСТдСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π²ΠΎ врСмя компиляции, ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ ΠΈΡ… ΠΏΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π°, Π΄Π°ΠΆΠ΅ Ссли Ρ„Π°ΠΉΠ» обслуТиваСтся ΠΈΠ· кСша.
opcache.preferred_memory_model string
ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠ°Ρ модСль памяти для OPcache. Если ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ пустым, OPcache сам Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΡΡ‰ΡƒΡŽ модСль, которая Π±ΡƒΠ΄Π΅Ρ‚ вСсти сСбя ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ практичСски Π² Π»ΡŽΠ±Ρ‹Ρ… случаях. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ mmap, shm, posix ΠΈ win32.
opcache.protect_memory bool
Π—Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ Ρ€Π°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΎΡ‚ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΠΉ записи Π²ΠΎ врСмя запуска скриптов. ПолСзно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.
opcache.mmap_base string
Π‘Π°Π·ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для сСгмСнта раздСляСмой памяти Π² ОБ Windows. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ PHP-процСсс Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π² ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ адрСсноС пространство. Π­Ρ‚Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ошибки «НС удаСтся ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒΡΡ ΠΊ Π±Π°Π·ΠΎΠ²ΠΎΠΌΡƒ адрСсу» (Unable to reattach to base address).
opcache.restrict_api string
Π Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ API-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ модуля OPcache Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· PHP-скриптов, Ρ‡Π΅ΠΉ ΠΏΡƒΡ‚ΡŒ начинаСтся с Π·Π°Π΄Π°Π½Π½ΠΎΠΉ строки. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π²Π½ΠΎ "" ΠΈ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ отсутствиС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ.
opcache.file_update_protection string
Π˜ΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ², с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° измСнСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΡˆΠ»ΠΎ мСньшС сСкунд, Ρ‡Π΅ΠΌ ΡƒΠΊΠ°Π·Π°Π»ΠΈ. Π­Ρ‚ΠΎ Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ ΠΎΡ‚ ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². Если всС обновлСния Ρ„Π°ΠΉΠ»ΠΎΠ² Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π·Π°Π΄Π°Π² для этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0. Π­Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ Π·Π°ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ.
opcache.huge_code_pages bool
Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ PHP-ΠΊΠΎΠ΄Π° (тСкстового сСгмСнта) Π² HUGE PAGES. ΠžΠΏΡ†ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… систСмных настроСк. ΠžΠΏΡ†ΠΈΡ доступна Π² Linux начиная с PHP 7.0.0 ΠΈ Π²ΠΎ FreeBSD начиная с PHP 7.4.0.
opcache.lockfile_path string
ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Ρƒ ΠΎΠ±Ρ‰ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для *nix-систСм).
opcache.opt_debug_level string
Π‘ΠΎΠ·Π΄Π°Ρ‘Ρ‚ сброс ΠΎΠΏΠΊΠΎΠ΄ΠΎΠ² для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… этапов ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0x10000 Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠΏΠΊΠΎΠ΄Ρ‹ Π² Ρ‚ΠΎΠΌ Π²ΠΈΠ΄Π΅, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΈΡ… создал компилятор, Π΄ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0x20000 Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΎΠΏΠΊΠΎΠ΄Ρ‹.
opcache.file_cache string
Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΈ устанавливаСт ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ кСша Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ уровня. ΠžΠΏΡ†ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° SHM-ΠΏΠ°ΠΌΡΡ‚ΡŒ заполнилась, ΠΏΡ€ΠΈ пСрСзапускС сСрвСра ΠΈΠ»ΠΈ сбросС раздСляСмой SHM-памяти. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ "" ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° основС Ρ„Π°ΠΉΠ»ΠΎΠ².
opcache.file_cache_only bool
Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΈΠ»ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠΊΠΎΠ΄ΠΎΠ² Π² раздСляСмой памяти.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π”ΠΎ PHP 8.1.0 ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ этой Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ с ΡƒΠΆΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌ кСшСм Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎ Ρ€ΡƒΡ‡Π½ΠΎΠΉ очистки Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ кСша.

opcache.file_cache_consistency_checks bool
Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΈΠ»ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ суммы ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ скрипта ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ кСша.
opcache.file_cache_fallback bool
ΠŸΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ opcache.file_cache_only=1 для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ процСсса, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ раздСляСмой памяти (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ОБ Windows). ВрСбуСтся явноС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ кСша.
ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π΅Ρ€Π΅ΠΆΠ΅Π½ΠΈΠ΅

ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ этой ΠΎΠΏΡ†ΠΈΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ запуску процСссов, ΠΈ поэтому Π½Π΅ рСкомСндуСтся.

opcache.validate_permission bool
ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ ΠΏΡ€Π°Π²Π° доступа ΠΊ ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
opcache.validate_root bool
ΠŸΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΈ ΠΈΠΌΡ‘Π½ Π² chroot-ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ. ΠžΠΏΡ†ΠΈΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ chroot-окруТСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ доступ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ chroot.
opcache.preload string
Π—Π°Π΄Π°Ρ‘Ρ‚ PHP-скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ скомпилируСт ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ ΠΏΡ€ΠΈ стартС сСрвСра, Π° Ρ‚Π°ΠΊΠΆΠ΅ смоТСт ΠΏΡ€Π΅Π΄Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹, Π»ΠΈΠ±ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ include, Π»ΠΈΠ±ΠΎ Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ opcache_compile_file(). КаТдая ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ классы), ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ Π² этих Ρ„Π°ΠΉΠ»Π°Ρ…, Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски доступна для запросов Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ сСрвСра.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π΅ поддСрТиваСтся ОБ Windows.

opcache.preload_user string
ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ систСмы. ΠžΠΏΡ†ΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½Π° для сСрвСров, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ root-ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π½Π° Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ систСмы. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ root Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Π° ΠΏΠΎ сообраТСниям бСзопасности, Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ этой Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π΅ явно Π½Π΅ установили Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ root. Начиная с PHP 8.3.0, эту Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΏΡ€ΠΈ запускС ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ root ΠΏΡ€ΠΈ использовании CLI SAPI ΠΈΠ»ΠΈ phpdbg SAPI.
opcache.cache_id string

Π’ систСмах Windows процСссы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ SAPI-интСрфСйс PHP ΠΏΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΡƒΡ‡Ρ‘Ρ‚Π½ΠΎΠΉ записью ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ кСша, дСлят ΠΌΠ΅ΠΆΠ΄Ρƒ собой ΠΎΠ΄ΠΈΠ½ экзСмпляр OPcache. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этой ΠΎΠΏΡ†ΠΈΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎ.

Подсказка

На IIS-сСрвСрах ΠΏΡƒΠ»Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ экзСмплярами OPcache. Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ кСши, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ окруТСния APP_POOL_ID ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΊΠ°ΠΊ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ кСша opcache.cache_id.

opcache.jit string|int
Π’ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Ρ‘Ρ… строковых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:
  • disable: Π”Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½, нСльзя Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π²ΠΎ врСмя выполнСния.
  • off: Π’Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½, Π½ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π²ΠΎ врСмя выполнСния.
  • tracing/on: Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ JIT с компиляциСй трассировок. Π’ΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ рСкомСндуСтся для большСй части ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.
  • function: Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ JIT с компиляциСй Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Π’ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ 4-Π·Π½Π°Ρ‡Π½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число CRTO, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚:

C (Ρ„Π»Π°Π³ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ для процСссора)
  • 0: ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ для ЦП.
  • 1: Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ инструкций AVX, Ссли поддСрТиваСтся ЦП.
R (распрСдСлСниС рСгистров)
  • 0: НС Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ рСгистры.
  • 1: Π’Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π±Π»ΠΎΡ‡Π½Ρ‹ΠΉ рСгистр.
  • 2: Π’Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ рСгистр.
T (Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€)
  • 0: ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ скрипта.
  • 1: ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ.
  • 2: ΠŸΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ запросС ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ самыС горячиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.
  • 3: ΠŸΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π»Π΅Ρ‚Ρƒ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ горячиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.
  • 4: НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ.
  • 5: Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ JIT с компиляциСй трассировок. ΠŸΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π»Π΅Ρ‚Ρƒ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ трассировки горячих сСгмСнтов ΠΊΠΎΠ΄Π°.
O (ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ)
  • 0: Π‘Π΅Π· JIT-компилятора.
  • 1: ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ JIT-компиляции (Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ стандартныС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹).
  • 2: Π’Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ встроСнныС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹.
  • 3: Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ компилятору Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΎ Ρ‚ΠΈΠΏΠ°Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.
  • 4: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ².
  • 5: ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ вСсь скрипт.
Π Π΅ΠΆΠΈΠΌ tracing соотвСтствуСт CRTO = 1254, Π Π΅ΠΆΠΈΠΌ function соотвСтствуСт CRTO = 1205.
opcache.jit_buffer_size int
ОбъСм раздСляСмой памяти, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ рСзСрвируСтся для скомпилированного JIT-ΠΊΠΎΠ΄Π°. НулСвоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ JIT. ΠžΠ±ΡŠΡ‘ΠΌ измСряСтся Π² Π±Π°ΠΉΡ‚Π°Ρ…, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΡƒΠΊΠ°Π·Π°Π»ΠΈ ΠΊΠ°ΠΊ Ρ†Π΅Π»ΠΎΠ΅ число (int). ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ значСния Π² сокращённой Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ описываСт Ρ€Π°Π·Π΄Π΅Π» FAQ.
opcache.jit_debug int
Битовая маска, которая опрСдСляСт, ΠΊΠ°ΠΊΠΎΠΉ Π²Ρ‹Π²ΠΎΠ΄ JIT-ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния смотритС Π² Ρ„Π°ΠΉΠ»Π΅ » zend_jit.h (ΠΈΡ‰ΠΈΡ‚Π΅ опрСдСлСния макросов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с прСфикса ZEND_JIT_DEBUG).
opcache.jit_bisect_limit int
ΠžΠΏΡ†ΠΈΡ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, которая ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ послС компиляции ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ количСства Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ΠžΠΏΡ†ΠΈΡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ источник Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ JIT-компиляции. ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли для JIT-Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π° установили Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0 (компиляция ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ скрипта) ΠΈΠ»ΠΈ 1 (компиляция ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ opcache.jit=1215. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ значСниях рассказываСт описаниС ΠΎΠΏΡ†ΠΈΠΈ opcache.jit.
opcache.jit_prof_threshold float
Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ€Π΅ΠΆΠΈΠΌ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π° Β«ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ запросС» этот ΠΏΠΎΡ€ΠΎΠ³ опрСдСляСт, считаСтся Π»ΠΈ функция горячСй. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ€Π°Π·Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ Π½Π° количСство Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² всСх Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΡˆΠ΅ ΠΏΠΎΡ€ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ значСния. НапримСр, ΠΏΠΎΡ€ΠΎΠ³ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0,005 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ 0,5% всСх Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ JIT-компилятором.
opcache.jit_max_root_traces int
МаксимальноС количСство ΠΊΠΎΡ€Π½Π΅Π²Ρ‹Ρ… стСков Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². ΠšΠΎΡ€Π½Π΅Π²ΠΎΠΉ стСк Π²Ρ‹Π·ΠΎΠ²Π° β€” ΠΏΠΎΡ‚ΠΎΠΊ выполнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сначала ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎ являСтся Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ΠΉ JIT-компиляции. JIT Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄, Ссли достигнСт этого ΠΏΡ€Π΅Π΄Π΅Π»Π°.
opcache.jit_max_side_traces int
МаксимальноС количСство Π±ΠΎΠΊΠΎΠ²Ρ‹Ρ… стСков Π²Ρ‹Π·ΠΎΠ²Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΌΡƒ стСку. Π‘ΠΎΠΊΠΎΠ²ΠΎΠΉ стСк Π²Ρ‹Π·ΠΎΠ²Π° β€” Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ выполнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΈΠ΄Ρ‘Ρ‚ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ скомпилированного ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ стСка Π²Ρ‹Π·ΠΎΠ²Π°. Π‘ΠΎΠΊΠΎΠ²Ρ‹Π΅ стСки Π²Ρ‹Π·ΠΎΠ²Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΌΡƒ стСку Π²Ρ‹Π·ΠΎΠ²Π°, Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Ссли достигнут этого ΠΏΡ€Π΅Π΄Π΅Π»Π°.
opcache.jit_max_exit_counters int
МаксимальноС количСство счётчиков Π²Ρ‹Ρ…ΠΎΠ΄Π° Π±ΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ стСка Π²Ρ‹Π·ΠΎΠ²Π°. ΠžΠΏΡ†ΠΈΡ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ±Ρ‰Π΅Π΅ количСство Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π±ΠΎΠΊΠΎΠ²Ρ‹Ρ… стСков Π²Ρ‹Π·ΠΎΠ²Π° для всСх ΠΊΠΎΡ€Π½Π΅Π²Ρ‹Ρ… стСков.
opcache.jit_hot_loop int
ПослС ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Ρ†ΠΈΠΊΠ» считаСтся горячим. Допустимый Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: [0,255]; для Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ этого Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ -1 ΠΈΠ»ΠΈ 256, Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0 ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ трассировку ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ Ρ†ΠΈΠΊΠ»ΠΎΠ² JIT-компилятором.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: РСкомСндуСтся Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ этому ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ простоС число, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΊΡ€Π°Ρ‚Π½ΠΎ числу ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Ρ†ΠΈΠΊΠ»Π°.

opcache.jit_hot_func int
ПослС ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² функция считаСтся горячСй. Допустимый Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: [0,255]; для Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ этого Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ -1 ΠΈΠ»ΠΈ 256, Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0 ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ трассировку ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ JIT-компилятором.
opcache.jit_hot_return int
ПослС ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΎΠ² Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ считаСтся горячим. Допустимый Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: [0,255]; для Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ этого Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ -1 ΠΈΠ»ΠΈ 256, Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0 ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ трассировку ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΎΠ² JIT-компилятором.
opcache.jit_hot_side_exit int
ПослС ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ² Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Π±ΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ стСка Π²Ρ‹Π·ΠΎΠ²Π° считаСтся горячим. Допустимый Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: [0,255]; для Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ этого Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ -1 ΠΈΠ»ΠΈ 256, Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0 ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ трассировку ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ Π±ΠΎΠΊΠΎΠ²Ρ‹Ρ… Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ² JIT-компилятором.
opcache.jit_blacklist_root_trace int
МаксимальноС количСство ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ компиляции ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ стСка Π²Ρ‹Π·ΠΎΠ²Π°, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ компилятор занСсёт ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ стСк Π² Ρ‡Ρ‘Ρ€Π½Ρ‹ΠΉ список.
opcache.jit_blacklist_side_trace int
МаксимальноС количСство ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ компиляции Π±ΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ стСка Π²Ρ‹Π·ΠΎΠ²Π°, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ компилятор занСсёт Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ стСк Π² Ρ‡Ρ‘Ρ€Π½Ρ‹ΠΉ список.
opcache.jit_max_loop_unrolls int
МаксимальноС количСство ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ†ΠΈΠΊΠ» Π² Π±ΠΎΠΊΠΎΠ²ΠΎΠΌ ΠΏΡƒΡ‚ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ внСшний Ρ†ΠΈΠΊΠ».
opcache.jit_max_recursive_calls int
МаксимальноС количСство Ρ€Π°Π·Π²Ρ‘Ρ€Π½ΡƒΡ‚Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² рСкурсивных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ².
opcache.jit_max_recursive_returns int
МаксимальноС количСство Ρ€Π°Π·Π²Ρ‘Ρ€Π½ΡƒΡ‚Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² рСкурсивных Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΎΠ².
opcache.jit_max_polymorphic_calls int
МаксимальноС количСство ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ Π²ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„Π½Ρ‹Π΅ динамичСскиС Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΈΠ»ΠΈ Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Π’Ρ‹Π·ΠΎΠ²Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‚ этот ΠΏΡ€Π΅Π΄Π΅Π», ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΌΠ΅Π³Π°ΠΌΠΎΡ€Ρ„Π½Ρ‹Π΅ ΠΈ Π½Π΅ Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ.
οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ 8 notes

up
17
damien at overeem dot org ΒΆ
9 years ago
When using PHP on a windows platform and enabling opcache, you might run into occasional 500 errors. These will appear to show up entirely random.

When this happens, your windows Event log (Windows Logs/Application) will show (probably multiple)  entries from Zend OPcache with Event ID 487. Further information will state the following error message: "Base address marks unusable memory region".

This issue can be resolved by adding the following to your php.ini:

    opcache.mmap_base = 0x20000000

Unfortunately I do not know the significance of the value "0x20000000". I can only tell you that this value works to solve the problem (Tried and tested)
up
7
carneiro at isharelife dot com dot br ΒΆ
6 years ago
If you try to allocate more memory that is available using opcache.memory_consumption PHP stops working without any logs to help on debugging. This issue took me 4 hours to solve when creating a staging server with same configrations and less memory that was available on production server.
up
6
tizian dot schmidlin at gmail dot com ΒΆ
7 years ago
It should be noted that according to the original RFC (https://wiki.php.net/rfc/preload) `opcache.preload` caches preloaded files *forever* for all instances of the underlying PHP process.

That means, that hosting multiple websites on the same server might result in some unexpected behaviour.

Concrete example: 
- you have a Symfony 3.2 App (which might be an endpoint of some type) and a Symfony 3.4 App (which might be your main application)
- both apps have a main Class called App that is in the same namespace (as it is usual, since the class name is unique to each project)
- depending on which app is loaded first, one or the other will work, since `opcache.preload` has no file based distinction of what class is used where and simply provides them to the user space

This is avoidable by simply not preloading user space classes or, if you work with FPM, by defining a pool for each app.

In order to optimize memory consumption, you might also use a common FPM Pool for all Symfony 3.4 Apps and preload the entire framework in there and simply not preload user space classes (which might be cached by opcache anyway but is slower, since it will be checked if the file has changed on every request).
up
7
wessos at example dot org ΒΆ
7 years ago
The optimization levels as of php 7.3 are the following:

#define ZEND_OPTIMIZER_PASS_1        (1<<0)   /* CSE, STRING construction     */
#define ZEND_OPTIMIZER_PASS_2        (1<<1)   /* Constant conversion and jumps */
#define ZEND_OPTIMIZER_PASS_3        (1<<2)   /* ++, +=, series of jumps      */
#define ZEND_OPTIMIZER_PASS_4        (1<<3)   /* INIT_FCALL_BY_NAME -> DO_FCALL */
#define ZEND_OPTIMIZER_PASS_5        (1<<4)   /* CFG based optimization       */
#define ZEND_OPTIMIZER_PASS_6        (1<<5)   /* DFA based optimization       */
#define ZEND_OPTIMIZER_PASS_7        (1<<6)   /* CALL GRAPH optimization      */
#define ZEND_OPTIMIZER_PASS_8        (1<<7)   /* SCCP (constant propagation)  */
#define ZEND_OPTIMIZER_PASS_9        (1<<8)   /* TMP VAR usage                */
#define ZEND_OPTIMIZER_PASS_10        (1<<9)   /* NOP removal                 */
#define ZEND_OPTIMIZER_PASS_11        (1<<10)  /* Merge equal constants       */
#define ZEND_OPTIMIZER_PASS_12        (1<<11)  /* Adjust used stack           */
#define ZEND_OPTIMIZER_PASS_13        (1<<12)  /* Remove unused variables     */
#define ZEND_OPTIMIZER_PASS_14        (1<<13)  /* DCE (dead code elimination) */
#define ZEND_OPTIMIZER_PASS_15        (1<<14)  /* (unsafe) Collect constants */
#define ZEND_OPTIMIZER_PASS_16        (1<<15)  /* Inline functions */

Source: https://lxr.room11.org/xref/php-src%40master/ext/opcache/Optimizer/zend_optimizer.h
up
6
bdurand at ensemblegroup dot net ΒΆ
9 years ago
It would appear as though the [opcache.enable] setting is indeed NOT PHP_INI_ALL.
For changing it within user.ini yields no effect when disabled at global level. user.ini is ignored for that setting.
up
1
JReezy ΒΆ
2 years ago
Despite the set of values for opcache.max_accelerated_files including the value 1048793, the maximum as stated is 1000000. If you select a number above 1000000 the value is set its default which is 10000.
up
0
olliejones at gmail dot com ΒΆ
2 months ago
In the OPcache, notice that the memory used for interned (deduplicated) text strings comes out of the total OPcache shared memory storage size.

So, for example, if you have these settings: 

opcache.memory_consumption=128

opcache.interned_strings_buffer=32

you have only left 96MB  (MiB) for OPcache's bytecode cache.
up
-2
daniel at elementor dot com ΒΆ
2 years ago
When opcache.use_cwd=0 include/require of relative paths from different directories will both resolve to the same (first) file.

Example dir structure:
app1
  index.php
  lib.php
app2
  index.php
  lib.php

both index.php(s):
include "lib.php"; 

app1/lib.php:
echo "app1";

app2/lib.php:
echo "app2";

both will echo "app1".