我们的网站在加载/重新加载页面时在FireFox中间歇性地崩溃。该站点使用Zend Framework 1.11.7构建。问题出在我们的生产服务器(共享主机)上,它似乎只发生在使用FireFox,所有其他浏览器我们都无法复制问题。开发服务器工作正常。该网站已经过验证,除了我们使用的Adobe Strobe Media Player有通常的验证错误。
当它崩溃时我们通常会看到
请与服务器管理员联系,[无地址]并通知他们>发生错误,以及可能导致错误的任何事情。
服务器错误日志中可能提供了有关此错误的更多信息。
0 HTTP / 1.1 200 OK日期:2011年6月19日星期日04:33:13 GMT服务器:Apache / 2.2.17(Unix)&gt; &GT; &gt; FrontPage / 5.0.2.2635 X-Powered-By:PHP / 5.2.17 Keep-Alive:timeout = 5,max = 99 Connection:Keep-&gt; Alive Transfer-Encoding:chunked Content-Type:text / html 38fd < / p>
以上消息可以在正文中,也可以是正文中唯一的内容以及html源代码。我们还看到上面的消息替换了Javascript / jQuery代码。
有时网站将加载没有CSS,其他时候没有Javascript(jQuery)。
我们的服务器日志中没有错误。
根据症状,似乎bootstrap.php文件未正确加载。
我们使用的是默认的.htaccess,我们的bootstrap.php是
<?php
类Bootstrap扩展了Zend_Application_Bootstrap_Bootstrap {
protected function _initView() {
$view = new Zend_View();
$view->doctype('XHTML1_TRANSITIONAL');
$view->headTitle(' News')
->setSeparator(' - ');
$view->headMeta()->appendHttpEquiv('Content-Type', 'text/html; charset=utf-8');
$view->headLink(array('rel' => 'shortcut icon',
'href' => '/css/images/favicon.ico'), 'PREPEND');
$view->headScript()->appendFile('/js/jquery-1.6.1.min.js')
->appendFile('/js/jquery-ui-1.8.13.custom.min.js')
->appendFile('/js/validate.js')
->appendFile('/js/bloom.js');
$view->headLink()->appendStylesheet('/css/main.css')
->appendStylesheet('/css/trontastic/jquery-ui-1.8.13.custom.css');
// Add it to the ViewRenderer
$viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer');
$viewRenderer->setView($view);
// Return it, so that it can be stored by the bootstrap
return $view;
}
protected function _initAutoload() {
// Add autoloader empty namespace
$autoLoader = Zend_Loader_Autoloader::getInstance();
$autoLoader->registerNamespace('BloomData_');
$resourceLoader = new Zend_Loader_Autoloader_Resource(array(
'basePath' => APPLICATION_PATH,
'namespace' => '',
'resourceTypes' => array(
'form' => array(
'path' => 'forms/',
'namespace' => 'Form_',
),
'model' => array(
'path' => 'models/',
'namespace' => 'Model_'
),
),
));
// Return it so that it can be stored by the bootstrap
return $autoLoader;
}
protected function _initRoute() {
$ctrl = Zend_Controller_Front::getInstance();
$router = $ctrl->getRouter(); // returns a rewrite router by default
$ir = new Zend_Controller_Router_Route_Regex('id/(.*)',
array('controller' => 'index', 'action' => 'index'),
array(1 => 'id'));
$router->addRoute('idRoute', $ir);
$sr = new Zend_Controller_Router_Route_Regex('sector/(.*)/id/(.*)',
array('controller' => 'index', 'action' => 'index'),
array(1 => 'sector', 2 => 'id'));
$router->addRoute('sectorRoute', $sr);
$dr = new Zend_Controller_Router_Route_Regex('date/(.*)/id/(.*)',
array('controller' => 'index', 'action' => 'index'),
array(1 => 'date', 2 => 'id'));
$router->addRoute('dateRoute', $dr);
}
}
答案 0 :(得分:0)
我认为这不是Firefox或任何其他浏览器的问题。看来你没有设置合适的标题,这就是你获得分块内容的原因。尝试添加.htaccess这些行:
SetEnv force-response-1.0 1
SetEnv downgrade-1.0 1
答案 1 :(得分:0)
Zend建议使用最新的PHP版本。尝试联系您的分片托管服务提供商,并要求他们升级到最新的PHP 5.3版本。我有类似的奇怪的崩溃只能通过更新php版本来解决。
同时确认您在开发和运行中运行相同的zend框架版本生产