Php Zend_Log_Writer_Firebug()不工作
我安装了Firefox 3.6.15、Firebug和FireHP插件,并启用了控制台。我正在使用Zend 1.11。以下代码在firebug控制台中没有显示任何内容Php Zend_Log_Writer_Firebug()不工作,php,zend-framework,firephp,Php,Zend Framework,Firephp,我安装了Firefox 3.6.15、Firebug和FireHP插件,并启用了控制台。我正在使用Zend 1.11。以下代码在firebug控制台中没有显示任何内容 <?php require_once('Zend/Log.php'); require_once('Zend/Log/Writer/Firebug.php'); $writer = new Zend_Log_Writer_Firebug(); $logger = new Zend_Log($
<?php
require_once('Zend/Log.php');
require_once('Zend/Log/Writer/Firebug.php');
$writer = new Zend_Log_Writer_Firebug();
$logger = new Zend_Log($writer);
$logger->info('info message');
$logger->warn('warning message');
$logger->err('error message');
?>
我试过使用FireHP核心库,这很管用-
<?php
require_once('FirePHPCore/FirePHP.class.php');
ob_start();
$firephp = FirePHP::getInstance(true);
$var = array('i'=>10, 'j'=>20);
$firephp->log($var, 'Iterators');
?>
我想让Zend的东西工作起来。有什么想法吗?试试这个地方
$request = new Zend_Controller_Request_Http();
$response = new Zend_Controller_Response_Http();
$channel = Zend_Wildfire_Channel_HttpHeaders::getInstance();
$channel->setRequest($request);
$channel->setResponse($response);
//buffering
ob_start();
$request=new Zend_Controller_request_Http();
$response=new Zend_Controller_response_Http();
$channel=Zend_Wildfire_channel_HttpHeaders::getInstance();
$channel->setRequest($request);
$channel->setResponse($response);
//缓冲
ob_start();
在记录器消息之前
也在
// flushing
$channel->flush();
$response->sendHeaders();
//冲洗
$channel->flush();
$response->sendHeaders();
实际上,这两个代码片段之间的主要区别在于,在FireHP代码中,您正在启用输出缓冲(使用
obstart();
调用),而在Zend Framework代码片段中,您没有。让它与Zend一起工作的最简单方法可能是将php.ini中的输出缓冲
标志设置为On(如果不想全局设置,可以在虚拟主机定义或使用apache时的htaccess中进行设置)
我只是在我的引导中使用这个:
protected function _initLogger()
{
$writer = new Zend_Log_Writer_Firebug();
$logger = new Zend_Log($writer);
Zend_Registry::set('logger', $logger);
}
然后使用
Zend_注册表::get('logger')->log(…)代码>并且它可以在输出缓冲设置为on(FF 3.6.15、Firebug 1.6.2、FireHP 0.5.0)的情况下工作。对我也有效,没有任何较短的版本吗?不幸的是,这个解决方案不起作用,我有FF、FBug和FPHP的最新版本,而“长”版本工作起来很有魅力!FF 14.0.1、FB 1.10.2、FPHP 0.7.1