> 백엔드 개발 > PHP 튜토리얼 > HTTP 응답을 보낸 후 PHP 실행을 유지하는 방법은 무엇입니까?

HTTP 응답을 보낸 후 PHP 실행을 유지하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-26 08:33:09
원래의
950명이 탐색했습니다.

How to Maintain PHP Execution After Sending an HTTP Response?

HTTP 응답 후 PHP 실행 유지

HTTP 응답 이후 PHP 실행을 유지하려면 특히 mod_php와 같은 환경에서 특별한 고려 사항이 필요합니다. 이 문제를 해결하기 위해 다음 솔루션이 제공됩니다.

PHP 실행을 계속하면서 HTTP 응답을 보내려면 다음 코드 조각을 활용할 수 있습니다.

<?php
ob_end_clean();
header("Connection: close");
ignore_user_abort(); // Optional
ob_start();
echo('Text the user will see');
$size = ob_get_length();
header("Content-Length: $size");
ob_end_flush(); // Enable strange behavior
flush();            // Required for behavior to work
session_write_close(); // Suggested enhancement to ensure session data is saved
// Perform processing here
sleep(30);
echo('Text user will never see');
?>
로그인 후 복사

이 코드는 다음 단계를 수행합니다. :

  1. 출력 버퍼를 정리합니다.
  2. "Connection: close" 헤더를 다음으로 설정합니다. HTTP 연결을 종료합니다.
  3. 사용자의 스크립트 중단 시도를 무시합니다(선택 사항).
  4. 새 출력 버퍼를 시작하여 남은 출력을 캡처합니다.
  5. 다음으로 메시지를 출력합니다. (즉시 표시됩니다).
  6. 출력 버퍼의 길이를 계산하고 "Content-Length" 헤더.
  7. 응답 헤더와 메시지를 클라이언트에 보내기 위해 출력 버퍼를 플러시합니다.
  8. 모든 변경 사항이 저장되도록 세션을 닫습니다.
  9. 필요한 처리를 실행하며 최대 1분이 소요될 수 있습니다.
  10. 추가 메시지나 결과를 출력합니다. 고객에게 전송됩니다).

위 내용은 HTTP 응답을 보낸 후 PHP 실행을 유지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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