이 글에서는 php를 주로 소개합니다. flush는 유효하지 않으며 IIS7에서 php의 실시간 출력 방법이 필요한 친구들은
을 참고하세요. 작업 중에 작업을 기록하고 브라우저에 실시간으로 표시하려면 플러시()를 사용하여 버퍼에 있는 내용을 브라우저로 보냅니다. 하지만 iis7에서는 fastcgi 모드로 구성된 PHP를 구현할 수 없으며, 결과가 항상 함께 표시됩니다.
for ($i=10; $i>0; $i--) { echo $i.'<br />'; @ob_flush(); flush(); sleep(1); }
위 코드는 IIS 기본 설정에서 결과를 점진적으로 표시할 수 없습니다. 해결 방법은 다음과 같습니다.
C:WindowsSystem32inetsrvconfigapplicationHost.config 파일을 엽니다. 시스템이 64비트 시스템인 경우 이 파일을 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 플러시가 유효하지 않은 경우 IIS7에서 PHP 실시간 출력 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!