PHP의 ignore_user_abort() 함수는 원격 클라이언트(사용자 브라우저)가 연결을 끊었을 때 실행 중인 스크립트를 계속 진행할지 여부를 설정하는 함수입니다. 기본적으로 사용자가 페이지를 닫거나 요청을 취소하면 스크립트도 함께 중단되는데, 이 함수를 활용하면 그 동작을 제어할 수 있습니다.
문법
ignore_user_abort(setting)
매개변수
setting − 이 값을 true로 설정하면 사용자의 중단 요청을 무시하고 스크립트가 끝까지 계속 실행됩니다. 기본값은 false이며, 이 경우 클라이언트가 연결을 종료하면 스크립트 실행도 함께 멈춥니다.
반환값
ignore_user_abort() 함수는 설정 변경 전의 사용자 중단(user-abort) 설정값을 반환합니다. 즉, 호출하기 이전에 어떤 설정이 적용되어 있었는지 알 수 있습니다.
예제
다음 예제는 인자 없이 함수를 호출하여 현재 설정값을 확인하는 코드입니다. 기본값은 false이므로, 이 상태에서는 클라이언트가 연결을 종료하면 스크립트 실행이 중단됩니다.
<?php ignore_user_abort(); ?>
출력 결과
위 코드의 실행 결과는 다음과 같습니다.
0
추가 참고 사항
이 함수는 대량 데이터 처리, 이메일 발송, 파일 생성 등 사용자 응답과 무관하게 반드시 완료되어야 하는 작업에 유용하게 활용됩니다. 다만 스크립트가 백그라운드에서 계속 실행되므로, 무한 루프나 장시간 실행 작업에는 주의해야 하며, 필요한 경우 set_time_limit()와 함께 사용해 실행 시간을 관리하는 것이 좋습니다.