Erro intermitente "Arquivo não existe: / var / www / html / var" de todas as áreas de um aplicativo Zend MVC resultando em páginas que ocasionalmente não carregam - quando normalmente elas são carregadas perfeitamente.
Nossa configuração
Aplicativo MVC em uma pilha LAMP na AWS com:
www.mysite.com/dev/
em /dev/configs/application.ini definimos o seguinte:
setting.basedir = dev
setting.baseurl = http://www.mysite.com/dev
setting.securebaseurl = http://www.mysite.com/dev
temos nosso DNS com godaddy e estamos usando A host = endereço IP (ou seja, IP.IP.IP.IP) não cname
link
ServerName www.mysite.com
UseCanonicalName Off
DocumentRoot "/var/www/html"
<Directory />
Options FollowSymLinks
AllowOverride ALL
</Directory>
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
O problema
Estamos recebendo o seguinte erro intermitente em / etc / httpd / logs / error_log:
File does not exist: /var/www/html/var, referer: http://www.mysite.com/dev/various
Quando esse erro acontece, uma meia página completa de qualquer parte do site que estávamos tentando acessar é exibida com a mensagem:
"Failed saving metadata to metadataCache"
O erro é intermitente porque não podemos repeti-lo com qualquer sequência de ações ou tempo:
Não temos este problema em máquinas locais - temos cerca de 3 máquinas locais diferentes em pilhas de lâmpadas mac & máquinas Windows com nossos desenvolvedores.
Nós não tivemos o problema na configuração original da AWS que era app + database em um único linux ami micro instance - acessado via ec2 addres & configs / application.ini baseurl configurado para o endereço ec2 (ou seja, não estávamos usando as configurações de host do DNS A nesse estágio)
Teorias e coisas que tentamos:
Quando atualizamos as configurações do application.ini para usar IP em vez de DN, não parece que recebemos o erro (o que indicaria um loop raiz / dns do servidor de algum tipo)
setting.basedir = dev
setting.baseurl = http://www.IP.IP.IP.IP.com/dev
setting.securebaseurl = http://www.IP.IP.IP.IP.com/dev
Inicialmente pensamos que poderia ser que no httpd.conf ServerName fosse comentado, mas quando definimos isso para www.mysite.com, mysite.com ou "www.mysite.com" não faz diferença
Nada que parecemos parece indicar onde está a origem do erro.