Pergunta

estou a usar require_once() no header.php para incluir a biblioteca Firephp. Na página.php, estou fazendo o habitual ...

$firephp = FirePHP::getInstance(true);
$firephp->log($categories);

Obtendo esses erros ..

'Headers already sent....'

e

Cannot send log data to FirePHP. You must have Output Buffering enabled via ob_start() or output_buffering ini directive...

Imaginei que o uso de requer_once no cabeçalho do modelo (acima de tudo a saída HTML) seria seguro (saída do cabeçalho do cabeçalho). Acho que não é esse o caso.

Alguém tem experiência com isto: (PS eu tentei o plugin WP Firephp, não estava funcionando corretamente)

Foi útil?

Solução

O Firephp usa os cabeçalhos de saída para transferir dados de depuração para o navegador. Então o require_once() declaração não é o problema, mas o fato de você fazer login page.php, nesse ponto, o HTML já foi produzido. Você não apenas precisa incluir o Firephp antes que qualquer conteúdo seja enviado - você também precisa fazer todo o log antes de enviar conteúdo.

A solução alternativa usual é manter qualquer saída no navegador usando o buffer de saída e o ob_* família de funções. Isso permite que você envie cabeçalhos, embora echo() Os comandos (e os gostos) já foram emitidos.

Suponho que fazer tudo isso com segurança é para o que foi feito o plugin WP_FIREPHP. Eu recomendaria dar uma segunda olhada nesse plugin.

Outras dicas

Colocar

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

na parte superior do seu arquivo de cabeçalho.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top