응답을 보낸 후 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!