<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 기사의 내용과 관련이없는 몇 가지 사항은 다음과 같습니다. PHP 암호</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"환경을 초기화하십시오...\n"</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">ob_start</span></span><span>();
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 기사가 시작됩니다</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
<h1>사용 </span><span><span class="hljs-title function_ invoke__">flush</span></span><span>() 효과적이지 않습니다?아마도 당신의 것입니다 Web 서버 설정에 문제가 있습니다</h1>
<p>존재하다 PHP 개발 중,`</span><span><span class="hljs-title function_ invoke__">flush</span></span><span>()` 函数常被사용来立即将输出发送到客户端,균일하게 출력하기 전에 스크립트가 실행될 때까지 기다리는 대신。它존재하다实现长时间运行的任务、실시간 로그 디스플레이、或者进度条更新时非常有사용。하지만,많은 개발자들이 문제를 겪게됩니다:明明调사용了 <code></span><span><span class="hljs-title function_ invoke__">flush</span></span><span>()PHP 출력이 플러시 되더라도 웹 서버 (예 : Apache, Nginx)는 버퍼가 가득 차 있거나 스크립트가 끝날 때까지 출력을 계속 캐시 할 수 있습니다. 일반적인 상황 :
일부 브라우저는 페이지를 렌더링하기 전에 일정량의 데이터를 기다립니다. 특히 출력이 매우 작을 때. 일반적인 관행 :
<span><span><?php</span></span><span>
</span><span><span>// PHP 출력 버퍼링을 비활성화합니다</span></span><span>
</span><span><span>while</span></span> <span>(</span> <span><span class="function_ invoke__">ob_get_level</span></span> <span>()></span> <span><span>0</span></span> <span>) {
</span><span><span class="function_ invoke__">ob_end_flush</span></span> <span>();
}
</span><span><span>에코</span></span><span> </span><span><span class="function_ invoke__">str_repeat</span></span> <span>(</span> <span><span>""</span></span> <span>,</span> <span><span>1024</span></span> <span>);</span> <span><span>// 브라우저 렌더링을 트리거하기 위해 충분한 데이터를 보냅니다</span></span><span>
</span><span><span>for</span></span> <span>(</span> <span><span>$ i</span></span> <span>=</span> <span><span>1</span></span> <span>;</span> <span><span>$ i</span></span> <span><=</span> <span><span>5</span></span> <span>;</span> <span><span>$ i</span></span> <span>++) {
</span><span><span>에코</span></span><span> </span><span><span>"처리 단계 <span>$ i</span></span></span> <span>...<br> \N";
</span><span><span class="function_ invoke__">플러시</span></span> <span>();
</span><span><span class="function_ invoke__">수면</span></span> <span>(</span> <span><span>1</span></span> <span>);
}
</span><span><span>?></span></span><span>
</span></span><p>위의 방법을 사용하면 대부분의 경우 <span class="fun">Flush ()가</span> 정상적으로 적용 할 수 있는지 확인할 수 있습니다. 그러나 출력 대기 시간은 PHP, 웹 서버 및 브라우저의 여러 링크의 결합 된 영향의 결과 일 수 있으며 레이어별로 계층을 점검해야합니다.</p> <span><span><?php</span></span><span>
</span><span><span>// 기사의 끝, 내용의 끝은 내용과 관련이 없습니다.</span></span><span>
</span><span><span>에코</span></span><span> </span><span><span>"기사가로드되었습니다. \ n"</span></span> <span>;</span> <span><span>?></span></span><span>
</span></span></div></div>