그냥 개발자 블로그

fastcgi_finish_request() for php 본문

프로그래밍팁/php

fastcgi_finish_request() for php

마음이파파 2019. 6. 25. 10:40

php에는 fastcgi_finish_request() 라는 함수가 존재 합니다. 그러나 이 함수에 대한 정보는 부족 합니다.

데이터를 클라이언트에 flush하고 요청이 끝날때까지 동작한다고만 되어 있으며

(https://www.php.net/manual/en/function.fastcgi-finish-request.php),

적절한 예제는 찾을 수 없습니다.

그래서 다음과 같은 예제를 만들었습니다.

 

 

<?
echo "Start:".date(':Y-m-d h:i:s');
sleep(10); //오래 걸리는 프로세스
?>

sleep은 오래걸리는 프로세스라고 가정 합니다.

예제를 실행하면 10초동안 로딩 후 화면에 Start가 나타납니다.

 

 

<?
echo "Start:".date(':Y-m-d h:i:s');
fastcgi_finish_request(); //일단 화면 출력 후 이후 코드는 백그라운드에서 동작
sleep(10); //오래 걸리는 프로세스
?>

하지만 fastcgi_finish_request() 함수를 사용하면 sleep이 끝나기도 전에 화면에 Start가 표시됩니다.

fastcgi_finish_request() 앞에 코드는 일단 화면 출력 후, 이 후 코드는 백그라운드에서 동작 시킵니다.

 

 

 

copyright 2019. 워크식스

 

워크식스

PHP 웹솔루션 개발 전문 워크식스, 커스터마이징, 프로그램 개발, 웹 퍼블리싱

work6.kr