Zend Framework网站挂起
我已经在Apache服务器上用ZF 1.11网站进行了几个月的测试。我今天早上试图运行一些测试,并且我的网站刚刚挂起(输入网址,我的浏览器只是说等待来自...的回复)。我很擅长修复代码中的异常,但我从来没有发现异常。我肯定已经改变了一些东西,但迄今为止我花了5个小时来解决这个问题,所以我被卡住了Zend Framework网站挂起
我已将网站从https切换到http(并多次重新启动httpd)。
我刷新从我的工作在生产服务器上的所有我的PHP代码(使用不同的证书开发服务器的克隆。)
我改变日志中的httpd的conf文件进行调试。
我可以看到在日志中的调试消息时,我打了服务器:
[Tue Nov 22 12:40:25 2011] [debug] proxy_util.c(1818): proxy: grabbed scoreboard slot 0 in child 30181 for worker proxy:reverse [Tue Nov 22 12:40:25 2011] [debug] proxy_util.c(1837): proxy: worker proxy:reverse already initialized [Tue Nov 22 12:40:25 2011] [debug] proxy_util.c(1934): proxy: initialized single connection worker 0 in child 30181 for (*)
我可以看到访问时间上的bootstrap.php文件更改,每次我刷新浏览器。 看着httpd日志,我看到请求,但我看到的只是请求。
有时我的控制器(IndexController.php)上的修改时间更新,但并非总是如此?
我在我的Bootstrap中初始化记录器,所以我添加了一个调用来打印一条消息,说明该行已被命中。在浏览器中产生异常消息的打字错误之后,我现在有时会在日志中收到消息...但并非总是如此。
我可以通过浏览器访问我的public/images目录中的文件。此服务器上的另一个站点也可以运行
我更新了php.ini发送调试消息到系统日志和除了我上面提到的异常。我没有看到任何错误。
我想我需要的是关于如何遵循Zend框架流程的一些指导。我猜测问题出现在Bootstrap中或之后不久。这是我的Bootstrap.php。这很简单。
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap {
// anything here that starts with "_init" will be run at startup
protected function _initSession() {
$doctypeHelper = new Zend_View_Helper_Doctype();
$doctypeHelper->doctype('XHTML1_TRANSITIONAL');
Zend_Session::start();
}
protected function _initLog() {
$options = $this->getOptions();
$logpath = $options['logpath'];
$logger = new Zend_Log();
$writer = new Zend_Log_Writer_Stream($logpath);
$logger->addWriter($writer);
Zend_Registry::set("logger", $logger);
$logger->log("Bootstrap.php - initLog complete", Zend_Log::INFO);
}
public function _initDbAdapter() {
$resource = $this->getPluginResource('multidb');
$resource->init(); // Don't forget to initialize the resource first
$cpDB = $resource->getDb('cp');
$openfireDB = $resource->getDb('openfire');
Zend_Registry::set('cpDB', $cpDB);
Zend_Registry::set('openfireDB', $openfireDB);
}
}
任何指针,将不胜感激。
肯
这不是php错误。是Apache的一个,可能与Apache升级有关。尝试在Apache中禁用与代理相关的模块。看到这个discussion。
a2dismod proxy proxy_connect proxy_ftp proxy_http proxy_ajp proxy_balancer proxy_html proxy
xdebug是我需要弄清楚发生了什么事情。
你是如何解决这个问题的?还有什么问题?谢谢! –
我们在新服务器部署方面遇到了非常类似的问题,并且关闭了IPV6来解决它。
我也会启用DB分析 - 可能是一些很长的查询 – heximal
好的建议。我实际上删除了_initDbAdapter例程,但它没有帮助。我使用ldap登录,我也检查并重新启动了该服务。 – Ken
你为什么猜测?挂钩一个调试器(xdebug),你就会知道它究竟挂在哪里。 –