>  기사  >  백엔드 개발  >  IIS7에서 PHP 실시간 출력에 대한 플러시의 잘못된 사용에 대한 솔루션

IIS7에서 PHP 실시간 출력에 대한 플러시의 잘못된 사용에 대한 솔루션

*文
*文원래의
2017-12-29 18:06:111766검색

이 글에서는 주로 IIS7에서 PHP 플러시가 유효하지 않고 PHP 실시간 출력이 필요한 방법을 소개합니다. 그것이 모두에게 도움이 되기를 바랍니다.

상대적으로 시간이 많이 걸리는 작업에서 작업을 기록하고 브라우저에 실시간으로 표시하고 싶습니다. 플러시()를 사용하여 버퍼에 있는 내용을 브라우저로 보냅니다. 하지만 iis7에서는 fastcgi 모드로 구성된 PHP를 구현할 수 없으며, 결과가 항상 함께 표시됩니다.

for ($i=10; $i>0; $i--)
{
  echo $i.&#39;<br />&#39;;
  @ob_flush();
  flush();
  sleep(1);
}

위 코드는 IIS 기본 설정에서 결과를 점진적으로 표시할 수 없습니다. 해결 방법은 다음과 같습니다.

C:WindowsSystem32inetsrvconfigapplicationHost.config 파일을 엽니다. 시스템이 64비트 시스템인 경우 이 파일을 32비트 편집 소프트웨어로 열어야 합니다. 비트 소프트웨어를 사용하면 파일이 존재하지 않는다는 메시지가 표시됩니다. 가져온 메모장을 열면 자동으로 시스템을 사용할 수 있습니다. 다음 단락을 찾아 빨간색 코드를 추가합니다. 즉, responseBufferLimit="0"을 PHP 핸들러에 추가합니다.

<handlers accessPolicy="Read, Script">
<add name="PHP_via_FastCGI" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="E:\PHP\php-cgi.exe" resourceType="Either" responseBufferLimit="0" />

이제 시도해 볼 수 있습니다. 그래도 작동하지 않으면 php.ini에서 output_buffering = Off를 설정하세요.

마지막 사항은 매우 중요합니다. 브라우저마다 결과가 다릅니다. IE에서는 문제가 없을 것입니다. Chrome을 사용하는 경우 각 에코 내용에 html이 포함되어 있어야 하며 그렇지 않으면 작동하지 않습니다. 또한 에코 내용이 너무 짧으면 이 효과를 코드보다 먼저 출력할 수 없습니다. echo str_pad(' ', 1050); Chrome은 이 효과를 얻으려면 먼저 1000자 이상을 출력해야 하는 것 같습니다. 작동하지 않으면 더 시도해 보세요.

관련 권장 사항:

php IIS 로그 분석 검색 엔진 크롤러 기록 program_php 인스턴스

PHP IIS6.0 구성 의사 정적 잘못된 솔루션,

windows Server 처리 방법 2008 php IIS는 uploadify를 사용하여 대용량 파일을 업로드하지만 솔루션을 업로드할 수 없습니다

위 내용은 IIS7에서 PHP 실시간 출력에 대한 플러시의 잘못된 사용에 대한 솔루션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.