O Apache / PHP parece estar armazenando em cache links simbólicos por 60 segundos - como pará-lo ou descobrir o que está realmente armazenando em cache os links simbólicos e parar com isso?

7

Temos um aplicativo da web em PHP que estamos implantando em um servidor LAMP executando o CentOS 5.5 usando o Capistrano. O Capistrano gerencia a mudança para a versão mais recente (e de volta) usando um link simbólico, portanto, nosso document root precisa apontar para esse link simbólico.

Infelizmente, vimos que os pedidos da Web para o aplicativo PHP ainda apontam para o destino anterior do link simbólico da raiz do documento por exatamente 60 segundos depois que o link simbólico é atualizado.

A única configuração na configuração do PHP que eu encontrei que pode estar relacionada a isso é a configuração realpath_cache_ttl , no entanto, ela está configurada para 120 segundos. Não consegui encontrar nada na configuração do Apache.

Não estamos usando o APC.

Eu estou procurando no lugar certo?

    
por Shabbyrobe 26.07.2011 / 09:40

3 respostas

10

Links simbólicos são armazenados em cache pelo Apache, suponho que você esteja usando o FollowSymLinks no seu httpd.conf. Você pode tentar usar SymLinksIfOwnerMatch cuja chamada para lstat não esteja armazenada em cache link

    
por 09.08.2011 / 12:10
1
O

apache não armazena em cache links simbólicos, mas armazena um pouco os locais dos arquivos e, se você usar o APC, ele realmente fará o cache. Eu vi isso também, mas usei tecido para implantações. O trabalho em torno estava fazendo um apache restart / reload / gracioso após o symlink de mudança.

tente um gracioso primeiro, depois recarregue e reinicie se tudo mais falhar

    
por 26.07.2011 / 14:38
0

O Apache não armazena em cache links simbólicos (seria incrivelmente estúpido tentar; o cache do sistema de arquivos sabe muito mais sobre o que está acontecendo e estaria muito próximo do mais rápido). Eu teria strace o shebang inteiro para ter uma idéia melhor do que está fazendo o quê quando.

    
por 26.07.2011 / 11:58