> 백엔드 개발 > PHP 튜토리얼 > HTTP 응답을 보낸 후 PHP 스크립트 실행을 계속하려면 어떻게 해야 합니까?

HTTP 응답을 보낸 후 PHP 스크립트 실행을 계속하려면 어떻게 해야 합니까?

DDD
풀어 주다: 2024-12-14 03:44:15
원래의
740명이 탐색했습니다.

How Can I Continue PHP Script Execution After Sending an HTTP Response?

응답을 보낸 후 PHP 실행 계속

PHP 스크립트가 들어오는 메시지를 받아 처리하고 응답을 보내는 시나리오에서 요청 서버에서는 초기 응답을 보낸 후 PHP 스크립트 실행을 계속해야 합니다. 일반적으로 서버는 HTTP 200 응답을 받으면 메시지를 전달된 것으로 표시하기 때문에 이 작업이 어려워집니다.

데이터베이스 저장소 및 크론 작업 방지

메시지를 데이터베이스를 사용하고 cron 작업을 사용하는 경우 더 즉각적인 솔루션이 있습니다. 여기에는 HTTP 200 응답을 보낸 다음 PHP 스크립트 실행을 계속하는 작업이 포함됩니다.

PHP 스크립트 구현

이 솔루션을 구현하려면 PHP 스크립트에서 다음 단계를 따르세요.

ignore_user_abort(true); // Not required but can prevent premature termination
set_time_limit(0);

ob_start();
// Perform initial processing here
echo $response; // Send the response
header('Connection: close');
header('Content-Length: '.ob_get_length());
ob_end_flush();
@ob_flush();
flush();
fastcgi_finish_request(); // Required for PHP-FPM (PHP > 5.3.3)

// Continue script execution
// ...

die(); // End the script especially when set_time_limit=0 is used and the task is complete
로그인 후 복사

이 코드 시퀀스를 사용하면 스크립트가 응답을 보낼 수 있지만 PHP 프로세스는 계속 실행됩니다. 필요한 경우 추가 처리나 작업을 수행하거나 다른 응답을 보낼 수 있습니다. 스크립트를 종료하고 리소스를 확보하려면 마지막에 die()를 호출하는 것이 중요합니다.

위 내용은 HTTP 응답을 보낸 후 PHP 스크립트 실행을 계속하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿