php 기반의 긴 연결 방법과 주의사항 문제

php는 set_를 통해time_limit(0);php 발걸음 시간 초과 제한을 없애고 긴 연결 효과를 줍니다.
예 코드는 다음과 같습니다

<?php

echo " 3 <br />";

set_time_limit(0); // php

while(1) {

   echo date("H:i:s")."<br />";

   ob_flush();

   flush(); // PHP

   sleep(3); // 3

}

?>

예제 코드 2:

set_time_limit(0);

header("Connection:Keep-Alive");

header("Proxy-Connection:Keep-Alive");

for($i=0;$i<60;$i++) {

   print 'text'.$i.'<br>';

   ob_flush();

   flush();

   sleep(1);

   clearstatcache();

}

여기는 ob_를 사용했습니다.flush();   flush();버퍼에 데이터를 강제로 출력하면 발걸음이 돌아오기 전에 브라우저로 데이터를 되돌릴 수 있습니다.그리고 flush와ob_를 내리지 않습니다.flush의 사용에 있어서 특히 실수하기 쉬운 부분이 있어서 출력 버퍼를 새로 고칠 수 없습니다.
하나.flush 및 ob_flush의 정확한 순서, 정확한 순서, 먼저ob_flush 다시 flush, 아래와 같습니다.
ob_flush();
flush();
웹 서버의 운영체제가 윈도우즈 시스템이라면 순서가 바뀌거나 ob_를 사용하지 않습니다flush () 에도 문제가 없습니다.그러나 Linux 시스템에서는 출력 버퍼를 새로 고칠 수 없습니다. 
2.ob_ 사용flush () 전에 앞의 내용 크기가 4069자인지 확인하십시오.
일부 웹 서버의 output_buffering은 기본적으로 4069 문자 또는 더 큽니다. 즉, 출력 내용이 4069 문자 서버에 도달해야 flush가 출력 버퍼를 새로 고칩니다. flush가 유효한지 확인하려면ob_flush () 함수 앞에 다음 문장이 있습니다.
print str_repeat("", 4096);
output_buffering 값..

for ($i=10; $i>0; $i--)

{

echo $i.'<br />';

ob_flush();

flush();

sleep(1);

}
ob_end_flush();

좋은 웹페이지 즐겨찾기