2008-09-17 1 views
6

PHP 스크립트를 실행하는 동안 브라우저가 연결을 닫았는지 여부를 감지 할 수있는 사람이 누구인지 알고 있습니까? apachemod_php을 사용할 때? 예를 들어 PHP에서 브라우저 연결 감지 완료

은, 하나는 브라우저를 닫은 후에 쓰기를 시도 할 경우 Java에서 HttpOutputStreamexception가 발생합니다 - 또는 checkError()에 부정적으로 응답합니다.

답변

7
+0

데이터를 출력 할 때도 Fedora22, PHP 5.6.12 및 ignore_user_abort (false)에서 작동하지 않습니다. – sivann

1

http://nz.php.net/register-shutdown-function

는 아마 덜 복잡 사용 방금 스크립트가 죽고 사용자가 종료 될 때 그것을 처리하려는 경우.

(예 : 그것은 긴 검색 있다면, 이것은 당신에게 운전 사이클의 무리 절약 할) 적어도 PHP4에서

2

을 connection_aborted하고 스크립트가 (사용하여 브라우저에 출력을 보낸 후 CONNECTION_STATUS 만했다 : flush() | ob_flush()). 정확한 결과를 기대하지 마십시오.

다른 쪽에서 아직 대기중인 사람이 있는지 확인하는 것이 좋습니다.

+0

'상대방에서 기다리고있는 사람이 있는지 확인하는 것이 가장 유용합니다. ': 어떻게? – cYrus

+0

어떻게 : "echo"무언가를 출력하거나 header(), 을 호출 한 다음 connection_aborted()를 사용하여 HTTP 클라이언트가 여전히 '듣고'있는지 또는 시간이 초과되었는지 확인할 수 있습니다. – Willem