2009-12-17 2 views
0

초 동안 자고 싶지만 브라우저가 멈추고 아무런 에코도없는 무한 루프가 있습니다. 누군가 왜 저에게 말할 수 있습니까?이 루프는 내 문자열을 에코하지 않습니다.

while(1) 
{ 
    sleep(1); 
    echo 'test'.'<br>'; 
} 
+0

휴식 응답을 보내거나 할 것이다 결코 무한 루프입니다. – Kamilos

답변

1

. 작은 데이터를 보내는 것은 최적화에 관한 것이지만, 성능면에서는 좋지 않습니다. 전송 속도가 높고 실제 트래픽 인 오버 헤드가 상대적으로 적기 때문에 충분한 양의 블록으로 전송되기를 원합니다. 작은 문자열 몇개만으로는 충분하지 않습니다. 바로 뒤에 flush()을 추가하면 PHP가이 문자열을 브라우저로 보내도록합니다.

+0

안녕하세요. 감사. 나는 그것을 시도했지만 플래시가 PHP 함수로 보이지 않는다. :) – john

+1

플러시를 원하셨습니까? – john

+1

obflush(). 감사. – john

2

서버가 처리를 중지 할 때까지 작동하지 않습니다.

+0

감사합니다. CK. 몇 초 동안 잠잘 수있는 무한 루프를 만드는 방법이 있습니까? 아니면 다른 것을해야합니까? 어떤 제안? – john

+0

몇 초 후에 끝내려면 정말로 무한합니까? – GalacticCowboy

2

flush()으로 출력 버퍼를 플러시 할 수 있지만, 그 값은 not guaranteed to work입니다.

PHP.net에서이 기능을 사용해보십시오 : PHP 큰 덩어리의 브라우저에 데이터를 전송하기 때문이다

function flush_buffers() { 
    ob_end_flush(); 
    ob_flush(); 
    flush(); 
    ob_start(); 
} 
+0

헤이 스킬 릭, 안돼. 나는 플러시를 시도했지만 여전히 달려있다. 어떤 제안? – john

+0

나는 루프를 풀어야한다고 생각한다. 왜 무한해야합니까? PHP 스크립트는 장기 실행을위한 것이 아닙니다. – Skilldrick

+0

계속해서 더 많은 데이터로 페이지를 업데이트하려면 JavaScript를 사용해야 할 수도 있습니다. – Skilldrick

0

나오긴 그것은 당신이 당신은 자바 스크립트 :이 방법은 작동하지 않습니다 결코 사용할 수 있습니다 사이트에 타이머를 표시하려면

관련 문제