2010-03-28 6 views
1

header.php에 require_once()을 사용하여 FirePHP 라이브러리를 포함 시켰습니다. page.php에서 내가 평소하고있어 ...Wordpress에 FirePHP를 어디에 넣으시겠습니까?

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

이 이러한 오류를 얻기 ..

'Headers already sent....' 

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

을 나는 템플릿의 헤더에 사용 require_once를 상상 .php (무엇보다도 HTML 출력)는 안전합니다 (헤더 출력 전). 이것이 사실이 아닐 수도 있습니다.

누구나이 경험이 있습니까? (추신 : WP FirePHP 플러그인을 사용해 보았는데 제대로 작동하지 않았다.)

+0

템플릿의 header.php 중 어느 것을 의미합니까? –

답변

1

FirePHP는 출력 헤더를 사용하여 디버깅 데이터를 브라우저로 전송합니다. 따라서 require_once() 문은 문제가 아니지만 page.php에 로그인하면 HTML이 이미 출력 된 것입니다. 콘텐츠가 전송되기 전에 FirePHP를 포함시킬 필요가있을뿐만 아니라 콘텐츠를 보내기 전에 모든 로깅을 수행해야합니다.

일반적인 해결 방법은 출력 버퍼링과 ob_* 패밀리 함수를 사용하여 모든 출력을 브라우저에 보관하는 것입니다. 따라서 echo() 명령 (및 그와 유사한 명령)이 이미 발행 되었더라도 헤더를 보낼 수 있습니다.

나는 WP_FirePHP 플러그인이 무엇을 위해 만들어 졌는지를 안전하게 짐작하고 있습니다. 나는 그 플러그인을 다시 볼 것을 권할 것이다.

+0

알았어, 고맙습니다. –

+0

php.ini에서 output_buffering 지시어를 On으로 변경하면 저를위한 트릭이 생겼습니다. (또한 WordPress 용 wp-firephp 플러그인을 사용하고있었습니다) – leeand00

+0

분명히 wordpress admin 섹션에서 헤더 및/또는 ob_ * 내용을 지우므로 FirePHP를 깨뜨리는 것으로 보입니다 – cwd

1

은 헤더 파일의 상단에

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

를 넣습니다.

관련 문제