Domanda

Ho Firefox 3.6.15, Firebug e FirePHP addons installati, console abilitato. Sto usando Zend 1.11. Il seguente codice non mostra nulla nella console Firebug.

<?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');
?>

Ho provato con la libreria di base FirePHP e funziona questo -

<?php
     require_once('FirePHPCore/FirePHP.class.php');
     ob_start();

     $firephp = FirePHP::getInstance(true); 
     $var = array('i'=>10, 'j'=>20);

     $firephp->log($var, 'Iterators');
?>

vorrebbe ottenere la cosa Zend lavoro. Qualche idea?

È stato utile?

Soluzione

Prova con posto

$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();

prima di Message Logger.

anche dopo

// flushing
$channel->flush();
$response->sendHeaders();

Altri suggerimenti

Beh, in realtà la differenza principale tra i 2 frammenti di codice è che nel codice FirePHP si sta accendendo il buffer di uscita (con la chiamata obstart();) e nel frammento di codice Zend Framework non lo fai. Il modo più semplice per farlo lavorare con Zend è probabilmente quello di impostare il flag output_buffering in php.ini su On (si può fare nella vostra definizione di host virtuale o .htaccess utilizzando apache se non si desidera impostare globalmente).

Ho appena usare questo nella mia Bootstrap:

protected function _initLogger()
{
    $writer = new Zend_Log_Writer_Firebug();
    $logger = new Zend_Log($writer);

    Zend_Registry::set('logger', $logger);
}

E poi l'uso Zend_Registry::get('logger')->log(...); e funziona con output_buffering su On (FF 3.6.15, Firebug 1.6.2, FirePHP 0.5.0).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top