我在应用服务器上全新安装了Zend Framework v1.10.5。唯一的修改是下面的两个init方法,其中我只是设置一个记录器并作为引导过程的一部分写入它。
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected $_log;
protected function _initLogging()
{
$log = new Zend_Log();
$writer = new Zend_Log_Writer_Stream(
APPLICATION_PATH . '/../data/logs/app.log');
$log->addWriter($writer);
$this->_log = $log;
$this->_log->info('Logging initialized.');
}
protected function _initHello()
{
$this->_log->debug('Hello!');
}
}
当我发出请求(初始化应用程序)时,我的app.log中会出现以下行...
2010-06-04T05:24:41+00:00 INFO (6): Logging initialized.
2010-06-04T05:24:41+00:00 DEBUG (7): Hello!
2010-06-04T05:24:41+00:00 INFO (6): Logging initialized.
2010-06-04T05:24:41+00:00 DEBUG (7): Hello!
有人可以解释为什么Zend似乎两次引导应用程序?同样,这是一个完全新鲜的(开箱即用的)Zend Framework实例。
答案 0 :(得分:4)
可能是:
在每个请求中,您的浏览器也向http://yourdomain.com/favicon.ico发出请求,该请求不存在。因此,该请求也将通过ZF进行,ZF将经历相同的引导过程。为避免这种情况,您可以创建一个favicon文件或修改.htaccess文件,以便请求不通过ZF。
您有一个application.ini文件,它也可以引导记录器。如果是这种情况,请编辑您的帖子以包含您的application.ini文件(删除密码等)。