>  기사  >  백엔드 개발  >  PHP 플러시가 유효하지 않습니다. IIS7에서 PHP 실시간 출력 방법

PHP 플러시가 유효하지 않습니다. IIS7에서 PHP 실시간 출력 방법

墨辰丷
墨辰丷원래의
2018-06-01 14:42:331460검색

이 글에서는 주로 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에서 키워드 및 파일 로딩 사용

phpWeChat 공개 계정 개발 모델에 대한 자세한 설명

php WeChat 공개 플랫폼 상호 작용 및 인터페이스 자세한 설명

위 내용은 PHP 플러시가 유효하지 않습니다. IIS7에서 PHP 실시간 출력 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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