응답 후 PHP 처리 계속
즉시 응답이 필요한 요청을 처리하는 경우 초기 응답을 보낸 후 PHP 처리를 계속해야 할 수도 있습니다.
귀하의 스크립트는 서버로부터 매개변수를 수신하고, 응답을 생성하며, 서버가 메시지를 다음과 같은 것으로 간주하지 못하도록 해야 합니다. 처리를 계속하기 전에 배달되었습니다. 메시지를 데이터베이스에 저장하고 cron 작업을 사용하는 것이 해결책이 될 수 있지만 실시간 응답에는 적합하지 않습니다.
이 문제를 해결하려면 다음 PHP 기능을 활용할 수 있습니다.
ignore_user_abort(true); // Not required but recommended set_time_limit(0); // No time limit ob_start(); // Handle the request and generate the response 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 // Continue PHP processing after the response has been sent die(); // **Important** to ensure cleanup if set_time_limit(0) is used
이러한 기능을 활용하면 클라이언트에 응답을 보내고, 연결을 닫고, 중단 없이 PHP 스크립트를 계속 실행할 수 있습니다. 이를 통해 메시지의 비동기 처리가 가능하면서도 즉각적인 응답이 가능합니다.
위 내용은 클라이언트에 응답을 보낸 후 PHP 처리를 계속하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!