2011-04-14 7 views
0

suPHP를 사용하는 공유 호스트에 스크립트가 있습니다. 버퍼없는 출력이 필요합니다 (긴 서브 루틴을 시작하기 전에 플러시 할 수 있습니다). 그러나 어쨌든 작동하도록 찾기는 어렵습니다. 따라서 플러쉬 호출은 기본적으로 무시됩니다. .htaccess (500 내부 오류가 발생합니다) 조정, 특정 스크립트에 대한 계정 수준 및 폴더 수준에서 php.ini 수정 시도했습니다 (둘 다 완전히 무시 될 것으로 보인다. 예를 들어 engine = Off 또는 suphp_engine = Off로 php 엔진을 비활성화 할 수 없습니다.버퍼되지 않은 출력을 사용하는 suPHP?

어떻게 버퍼링을 비활성화 할 수 있습니까? (호스팅 제공 업체에 문의해야 할 수도 있지만 구체적으로 변경하도록 요청할 수 있습니까?) suPHP에서도 가능합니까?

답변

1

내 호스팅 지원에 대해 이야기 한 후 필자는 마침내 php.ini를 인식하게되었지만 버퍼 크기를 사용하지 않거나 변경하면 효과가 없습니다. 그것은 상당히 가난하게 (내가 말할 수있는 한 PHP 공식 문서에 대한 하나의 코멘트)하지만 그것은 suPHP 내부 PHP 버퍼 후 모든 출력을 버퍼 것 같습니다. 그래서 플러시가 작동 중입니다 ...하지만 모든 출력은 suPHP에 의해 다시 버퍼링되고 그 주위에 방법이 없습니다. 따라서 suPHP를 사용하는 경우 해제 할 수없는 두 번째 버퍼 뒤에 걸리므로 최종 결과는 아무 효과가 없습니다. 버퍼링과 같은 다른 버퍼 명령을 사용하여 헤더를 스크립트를 통해 더 전송하여 흐름을 제어 할 수 있지만, suPHP 뒤의 총 출력은 외출하기 전에 버퍼를 통과합니다.

0

flush()을 실행하면 어떻게됩니까? 오류가 발생 했습니까 아니면 단순히 출력이 없습니까? 캐싱이 웹 서버 수준에서 발생하면 플러시가 적용되도록 버퍼를 채워야 할 수 있습니다. 플러시 전에 많은 공백을 보내고 더 효과적인 지 확인하십시오.

+0

그냥 아무 것도하지 않습니다. 나는 버퍼를 오버플로 할 수 없었다. – ima747

관련 문제