1

주제: 플러그인 출력 버퍼링 문제

http://forum.tattersite.com/ko/viewtopic.php?id=2397 이런 경우에 해당하는 문제인데요..

/blog/plugin/index.php 에 보면

fireEvent($suri['directive'] . '/' . $suri['value']);
if (!headers_sent())
    respondNotFoundPage();

이렇게 돼있어서 플러그인이 실행된 후 출력되는 양이 작아서 아직 버퍼에 묻혀있는 상태일때는 플러그인이 실행되지 않은걸로 간주돼 not found 페이지만 보여지게 됩니다

그래서 플러그인에서 짧은 내용을 출력해야 되는 경우에는 항상 flush()를 해줘야되는 귀찮음이 있죠..

PHP 버퍼에 출력해야될 내용(header가 아닌 content)이 남아있는지 확인할 수 있는 방법이 있으면 해결될 문제같은데 이걸 체크할 수 있는 방법이 없는것 같아서..

차선책으로는

ob_start();
fireEvent($suri['directive'] . '/' . $suri['value']);
$content = ob_get_clean();
if ($content == '')
    respondNotFoundPage();
echo $content;

이런식으로 해도 될 것 같습니다

더 좋은 방법이 없을까요?

crizin (2007-06-30 12:31:29)에 의해 마지막으로 수정

2

답글: 플러그인 출력 버퍼링 문제

현재의 인터페이스상 플러그인이 잘 flush를 해 줘야 하는 수 밖에는요.

에러 상황을 좀더 명확히 보고할 수 있도록 인터페이스를 고쳤으면 하는데 -ㅅ-