Cache (keš), v případě PHP opcache (OPC) je místo na disku hostingu pro uložení statických dat integrovaný přímo s jazykem PHP. Pokud je povolen, výrazně zvyšuje výkon webových stránek využívajících PHP. OPC zvyšuje výkon PHP tím, že ukládá předkompilovaný bajtový kód skriptů do sdílené paměti.
Tím eliminuje nutnost načítání a analyzování skriptů při každém požadavku na server. Funkčnost ověříme třeba pomocí jednoduchého pluginu, viz stránka k tomu určeného pluginu v adresáři WordPressu.
Obsah
WordPress OPcache plugin
Po aktivaci pluginu v menu WP OPC pluginu najdeme tři informační karty. Globální nastavení, Statistiku a Seznam souborů v zásobníku. Pokud je funkční PHP OPC druhá a třetí karta obsahuje informace o použité pamětí, statistiku provozu a základní informace o běhu aplikace.

OPC ladíme pomocí konfiguračního souboru php.in, obvykle v cestě
nano /etc/php/7.3/fpm/php.ini
Konfigurovatelné direktivy jsou vypsané přímo v rozhraní pluginu hned pod statistikou s uvedenou konfigurací
opc.blacklist_filename not defined opc.consistency_checks 0 opc.dups_fix false opc.enable true opc.enable_cli true opc.enable_file_override false opc.error_log not defined opc.file_cache not defined opc.file_cache_consistency_checks true opc.file_cache_only false opc.file_update_protection 2 opc.force_restart_timeout 180 opc.huge_code_pages false opc.interned_strings_buffer 8 opc.lockfile_path /tmp opc.log_verbosity_level 1 opc.max_accelerated_files 10000 opc.max_file_size 0 opc.max_wasted_percentage 0.05 opc.memory_consumption 256 MB (268435456) opc.opt_debug_level 0 opc.optimization_level CSE, STRING construction Constant conversion and jumps ++, +=, series of jumps INIT_FCALL_BY_NAME -> DO_FCALL CFG based optimization DFA based optimization CALL GRAPH optimization SCCP (constant propagation) TMP VAR usage NOP removal Merge equal constants Adjust used stack Remove unused variables DCE (dead code elimination) Inline functions opc.preferred_memory_model not defined opc.protect_memory false opc.restrict_api not defined opc.revalidate_freq 2 opc.revalidate_path false opc.save_comments true opc.use_cwd true opc.validate_permission false opc.validate_root true opc.validate_timestamps true
Pro kupříkladu změnu stavu přidělené paměti v konfiguračním souboru vyhledáme pasáž konfigurace OPC shared memory kde provedeme úpravu hodnoty na požadovanou hodnotu
; The OPC shared memory storage size. opcache.memory_consumption=512
Rovněž můžeme konfigurovat limit paměti
; Maximum amount of memory a script may consume (128MB) ; http://php.net/memory-limit memory_limit = 1024M
kupříkladu 512MB. Po každé rekonfiguraci provedeme restart www serveru i php-fpm služby
systemctl restart nginx systemctl restart php7.3-fpm
Obvykle nejčastěji upravované hodnoty jsou
opcache.enable=1 opcache.memory_consumption=128 opcache.max_accelerated_files=3000 opcache.revalidate_freq=200
Užitečné
WP pluginy s podporou PHP8.
Domovská stránka OPC (PHP).