Onde você inclui o Firephp no WordPress?
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)
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.