작은숲:위키노트/PHP flush: 두 판 사이의 차이

39 바이트 추가됨 ,  2022년 5월 7일 (토)
잔글
Utolee90님이 PHP flush 문서를 넘겨주기를 만들지 않고 작은숲:위키노트/PHP flush 문서로 이동했습니다: 위키노트 문서 작은숲으로 이동
잔글 (문자열 찾아 바꾸기 - "<source" 문자열을 "<syntaxhighlight" 문자열로)
잔글 (Utolee90님이 PHP flush 문서를 넘겨주기를 만들지 않고 작은숲:위키노트/PHP flush 문서로 이동했습니다: 위키노트 문서 작은숲으로 이동)
 
(같은 사용자의 중간 판 2개는 보이지 않습니다)
1번째 줄: 1번째 줄:
{{DISPLAYTITLE:PHP flush() 함수}}
{{DISPLAYTITLE:PHP flush() 함수}}
[[위키노트:PHP|PHP]] <tt>[[위키노트:PHP:flush|flush()]]</tt> 함수는 출력 버퍼에 쌓여있는 내용을 곧바로 전송하는 역할을 한다. [[위키노트:아파치|아파치]]에서 PHP를 동적 모듈(DSO, 동적 공유 객체)로 올려 사용할 때는 아래와 같이 하면 스크립트가 종료하기 전이라도 보내고자 하는 출력값을 보낼 수 있다.
[[작은숲:위키노트/PHP|PHP]] <tt>[[작은숲:위키노트/PHP:flush|flush()]]</tt> 함수는 출력 버퍼에 쌓여있는 내용을 곧바로 전송하는 역할을 한다. [[작은숲:위키노트/아파치|아파치]]에서 PHP를 동적 모듈(DSO, 동적 공유 객체)로 올려 사용할 때는 아래와 같이 하면 스크립트가 종료하기 전이라도 보내고자 하는 출력값을 보낼 수 있다.
<syntaxhighlight lang="php">
<syntaxhighlight lang="php">
@apache_setenv('no-gzip', 1);
@apache_setenv('no-gzip', 1);
15번째 줄: 15번째 줄:
     flush();
     flush();
     sleep(1);
     sleep(1);
}</source>
}</syntaxhighlight>
위에 두 줄은 gzip 압축 전송하는 것을 막는 것이다. 압축 전송하면 모든 출력값을 모아서 gzip 압축한 후에 보내기 때문에 출력값을 필요할 때마다 보내려면 gzip 압축을 포기해야 한다. 그런 후 브라우저에 따라 일정 크기 이상이 되지 않으면 처리하지 않는 문제를 피하기 위해 사전에 빈 문자열을 4,000 바이트 이상 보내준다. 그런 후 필요한 출력을 하고 <tt>flush()</tt> 함수를 써서 출력한 값을 곧바로 전송한다.
위에 두 줄은 gzip 압축 전송하는 것을 막는 것이다. 압축 전송하면 모든 출력값을 모아서 gzip 압축한 후에 보내기 때문에 출력값을 필요할 때마다 보내려면 gzip 압축을 포기해야 한다. 그런 후 브라우저에 따라 일정 크기 이상이 되지 않으면 처리하지 않는 문제를 피하기 위해 사전에 빈 문자열을 4,000 바이트 이상 보내준다. 그런 후 필요한 출력을 하고 <tt>flush()</tt> 함수를 써서 출력한 값을 곧바로 전송한다.
== 참고 ==
== 참고 ==