在Zend MVC应用程序的所有区域发生断断续续的错误“文件不存在:/ var / www / html / var”,导致页面偶尔无法加载 – 通常情况下,加载完美。
我们的设置
AWS上的LAMP堆栈上的MVC应用程序:
www.mysite.com/dev/
在/dev/configs/application.ini中我们定义如下:
setting.basedir = dev setting.baseurl = http://www.mysite.com/dev setting.securebaseurl = http://www.mysite.com/dev
有我们的DNS与godaddy,并使用A主机= IP地址(即IP.IP.IP.IP)而不是CNAME
httpd.conf的设置大多是默认的(让我知道是否有重要的,这里没有列出)
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>
问题
我们在/ etc / httpd / logs / error_log中收到以下间歇性错误:
文件不存在:/ var / www / html / var,引用者: http ://www.mysite.com/dev/various
发生此错误时,我们尝试访问的网站的任意部分的一半完整页面将显示消息:
“将元数据保存到metadataCache失败”
错误是间歇性的,因为我们无法用任何动作或时间顺序重复它:
我们在本地机器上没有这个问题 – 我们的开发人员在mac lamp stacks和windows机器上有大约3个不同的本地机器。
我们没有在原始的AWSconfiguration上的应用程序+数据库上的单个Linux AMI微型实例的问题 – 通过ec2地址访问configuration/ application.ini baseurl设置为EC2地址(即我们没有使用DNS A主机设置那个阶段)
我们尝试过的理论和事物:
当我们更新application.ini设置来使用IP而不是DN时,我们似乎没有得到错误(这将表明某种服务器根/ dns循环)
setting.basedir = dev setting.baseurl = http://www.IP.IP.IP.IP.com/dev setting.securebaseurl = http://www.IP.IP.IP.IP.com/dev
最初我们认为可能是httpd.conf中的ServerName被注释掉了,但是当我们把它设置为www.mysite.com,mysite.com或“www.mysite.com”时,它没有任何区别
我们没有做什么似乎表明错误的来源在哪里。