Sempre que alguém visita uma página PHP, o PHP lê os arquivos do código e traduz-os para um formato interno antes de os executar. O OPcache guarda essa tradução em memória e reutiliza-a, por isso as visitas seguintes poupam esse trabalho. Aqui ele existe mas vem desligado por padrão: liga-se em Select PHP Version. Ajuda sobretudo quando o código é grande, como numa aplicação com muitos arquivos ou num WordPress carregado de plugins.
Como ligar e confirmar
| 1 |
No cPanel, abra Select PHP Version (seção Software) e escolha a versão que o site usa. Cada versão do PHP tem a sua lista de extensões ligadas.
|
|
| 3 |
Confirme com um arquivo que contenha <?php phpinfo(); na pasta do site: deve aparecer uma seção chamada Zend OPcache. Apague o arquivo logo a seguir.
|
|
| 4 |
Meça de novo. O ganho vê-se no tempo de resposta das páginas que não saem do cache de páginas. Veja TTFB alto.
|
|
O que esperar, e o que não
| Situação |
O que o OPcache faz |
| Site com cache de páginas bem configurado |
Pouco: a maior parte das visitas nem chega ao PHP. Veja LiteSpeed Cache. |
| Páginas que não se podem guardar em cache (loja, área de membros, painel) |
Muito: cada visita corre PHP, e poupa-se a leitura e a tradução do código. |
| Uma aplicação grande (framework, loja) |
Bastante: tem muitos arquivos a ler a cada pedido. Veja pôr uma aplicação Laravel a funcionar. |
| Um banco de dados lento |
Nada. O OPcache só trata do código, não das consultas. Veja consultas lentas. |
Por que as minhas alterações não aparecem
Com o OPcache ligado, o PHP guarda o código e só volta a verificar se o arquivo mudou de tempos a tempos (o intervalo é o opcache.revalidate_freq, que a documentação do PHP indica como poucos segundos por padrão). Por isso uma edição pode demorar um instante a aparecer. Se passou muito tempo e continua vendo a versão antiga, a causa raramente é o OPcache. Verifique, por esta ordem:
| 2 |
O cache de páginas do site (o plugin, ou um serviço à frente). Faça “Purge All”.
|
|
| 3 |
Editou o arquivo certo? A pasta do site pode ter outra cópia, ou o tema filho ter prioridade.
|
|
| 4 |
Só então o OPcache. Para o ver fora de jogo, desmarque a caixa em Select PHP Version, repita o teste e volte a marcar. Se a diferença desaparece, o OPcache era o culpado, e então desligue-o enquanto trabalha no código.
|
|
|
Não o deixe ligado num site que está programando a cada minuto sem contar com o atraso. Muitos programadores ligam-no só em produção. E se um plugin ou uma aplicação gera arquivos PHP e os executa logo a seguir, pode ver-se código antigo durante um instante.
|
|
Ligou o OPcache e não aparece no phpinfo, ou o site ficou pior? Envie-nos o endereço e a versão do PHP.
Abrir um pedido de suporte
|
PRODUTO RECOMENDADO Hospedagem de sites com cPanel Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde R$ 36,30/mês (plano de 3 anos, com cupom) Ver planos |