Hoje me deparei com um problema chato em um site usando o LocalWP: alterei um arquivo PHP dentro de um plugin do WordPress em uma pasta com symlink, mas o navegador continuava mostrando o conteúdo da versão antiga do arquivo.
Demorei um pouco para entender o que estava acontecendo e usando a “super técnica avançada de depuração” de adicionar um número antes de algum conteúdo, confirmei que o navegador não estava refletindo a alteração. Porém, quando eu mudei a versão do plugin, a atualização foi refletida na tela de Plugins, o que significava que o symlink da pasta do plugin estava correto.
Então perguntei ao Codex CLI dentro da pasta do projeto o que poderia estar causando o problema. Depois de executar algumas verificações, ele apontou que a causa mais provável era o OPcache e sugeriu reiniciar o servidor (nginx). Depois de fazer isso, vi as alterações atualizadas no navegador.
Para evitar que isso acontecesse de novo, ele recomendou alterar o arquivo de configuração do PHP. No meu caso, ele estava localizado em PASTA-SITE/conf/php/php.ini.hbs. Eu substituí:
opcache.enable=1
opcache.enable_cli=1
por:
opcache.enable=1
opcache.enable_cli=0
opcache.validate_timestamps=1
opcache.revalidate_freq=0
Isso mantém o OPcache habilitado, mas faz o PHP verificar os timestamps dos arquivos a cada requisição para que as edições apareçam imediatamente.
Depois de fazer essa alteração, reiniciei o site no LocalWP e o problema foi resolvido.
Estou usando Ubuntu Linux, mas esse problema também pode acontecer no Windows ou macOS.

Deixe um comentário