estamos usando o capistrano para implantar nosso aplicativo PHP. e o php-apc é ativado no servidor de produção com apc.stat = 0. Na configuração do capistrano, há uma regra para limpar o cache do APC após a implementação: update:
after "deploy:update", "clear_apc_cache"
o cache foi desabilitado com sucesso: apc.php 'Exibir Estatísticas do Host' mostra um tempo de atividade de 0 minuto, números de arquivos em cache & hits está perto de 0 (não 0 porque há bastante tráfego e alguns arquivos são armazenados em cache antes que possamos verificar apc.php)
o problema é que, em algum momento, um arquivo antigo ainda é armazenado em cache no apc. Eu acho que isso é devido a uma solicitação HTTP começando antes de capistrano atualizar o symlink 'atual' e terminando depois de limpar o cache do APC. Nesse caso, o arquivo incluído após apc clear nesta solicitação ainda é da pasta de revisão antiga (estamos usando o caminho relativo em include s e requer s) e são salvos no cache do apc
Existe uma maneira de consertar isso permanentemente? sem atualizar todos incluem se requerem s
por enquanto, tentarei atrasar o "clear_apc_cache" por um ou dois segundos, mas temo que cause problemas durante o atraso (e algumas solicitações podem demorar mais de 2 segundos)