Neste post vou demonstrar como fiz para habilitar o OPcache do PHP no Xampp.
OPcache melhora a performance armazenando bytecode de scripts pré-compilados na memória compartilhada, que por sua vez elimina a necessidade do PHP carregar e analisar scripts a cada requisição. Esta extensão vem junto com o PHP 5.5 e posteriores e está disponível via PECL para as versões 5.2, 5.3 e 5.4.
O Xampp já vem compilado com o OPcache, então basta modificar o arquivo php.ini.
Acesse o Xampp Control Panel e na mesma linha onde está o Apache, clique em Config e selecione PHP (php.ini).
Feito isso, o arquivo abrirá no editor de textos padrão do Windows.
IMPORTANTE
Se você possui o [XDebug] você precisa tomar atenção especial, pois o código a seguir deverá ser inserido “antes” desta diretiva.
Observe o caminho para a extensão php_opcache.dll que pode variar de acordo com sua instalação.
[opcache]
zend_extension = "C:\xampp\php\ext\php_opcache.dll"
; Determines if Zend OPCache is enabled
opcache.enable=1
; Determines if Zend OPCache is enabled for the CLI version of PHP
opcache.enable_cli=0
; The OPcache shared memory storage size.
opcache.memory_consumption=64
; The amount of memory for interned strings in Mbytes.
opcache.interned_strings_buffer=4
; The maximum number of keys (scripts) in the OPcache hash table.
; Only numbers between 200 and 100000 are allowed.
opcache.max_accelerated_files=2000
; The maximum percentage of "wasted" memory until a restart is scheduled.
opcache.max_wasted_percentage=5
; When this directive is enabled, the OPcache appends the current working
; directory to the script key, thus eliminating possible collisions between
; files with the same name (basename). Disabling the directive improves
; performance, but may break existing applications.
opcache.use_cwd=1
; When disabled, you must reset the OPcache manually or restart the
; webserver for changes to the filesystem to take effect.
opcache.validate_timestamps=1
; How often (in seconds) to check file timestamps for changes to the shared
; memory storage allocation. ("1" means validate once per second, but only
; once per request. "0" means always validate)
opcache.revalidate_freq=2
; Enables or disables file search in include_path optimization
opcache.revalidate_path=0
; If disabled, all PHPDoc comments are dropped from the code to reduce the
; size of the optimized code.
opcache.save_comments=0
; If disabled, PHPDoc comments are not loaded from SHM, so "Doc Comments"
; may be always stored (save_comments=1), but not loaded by applications
; that don't need them anyway.
opcache.load_comments=0
; If enabled, a fast shutdown sequence is used for the accelerated code
opcache.fast_shutdown=1
; Allow file existence override (file_exists, etc.) performance feature.
opcache.enable_file_override=0
; A bitmask, where each bit enables or disables the appropriate OPcache
; passes
opcache.optimization_level=0xffffffff
Reinicie o Apache e teste com um arquivo contento uma chamada para o phpinfo().
Caso você ainda possua a estrutura de arquivos do htdocs/xampp você também poderá executar o URL http://127.0.0.1/xampp/phpinfo.php.
É isso ai! Abraço do Giba!