Question

Je Firefox 3.6.15, Firebug et addons FirePHP installé, la console activée. J'utilise Zend 1.11. Le code suivant ne montre rien dans la 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');
?>

J'ai essayé avec la bibliothèque de base FirePHP et cela fonctionne -

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

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

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

Aimeriez-vous faire fonctionner la chose la Zend. Toute idée?

Était-ce utile?

La solution

Essayez avec lieu

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

avant que le message de l'enregistreur.

également après

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

Autres conseils

Eh bien, en fait la principale différence entre les 2 fragments de code est que dans le code FirePHP vous tournez le tampon de sortie (avec l'appel obstart();) et dans le fragment de code Zend Framework vous n'avez pas. La meilleure façon de le faire fonctionner avec Zend est probablement de mettre le drapeau output_buffering dans php.ini (vous pouvez le faire dans votre définition d'hôte virtuel ou htaccess lorsque vous utilisez apache si vous ne voulez pas le mettre à l'échelle mondiale).

Je viens de l'utiliser dans mon Bootstrap:

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

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

Et puis l'utilisation Zend_Registry::get('logger')->log(...); et il fonctionne avec output_buffering activée (FF 3.6.15, 1.6.2 Firebug, FirePHP 0.5.0).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top