2010-07-13 4 views
0

ignore_user_abort (TRUE)가있는 스크립트가 있습니다. 나는이PHP : ignore_user_abort (TRUE)가 작동하지 않습니다.

$socket = curl_init("http://..."); 
curl_setopt($socket, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($socket, CURLOPT_TIMEOUT_MS, 1000); 
$result = curl_exec ($socket); 
curl_close($socket); 

처럼 호출하고 상단이 스크립트는 스크립트가 그 일을 시작하지만 조금 후에 멈출 것을 내가 백그라운드에서 실행하려면, 그 결과로부터 판단 지루한 작업을 수행합니다. 나는 내가 아는 모든 것을 시도했고, 나는 정말로 붙어있다. ignore_user_abort()를 차단할 수있는 서버 설정이 있습니까? 이에 대한 아이디어가 있으면 알려주십시오.

추신. set_time_limit()가 높은 값으로 설정되고 cpanel이 오류 로그에 모든 오류를 포착하여 치명적인 오류로 인해 죽지 않습니다. 당신이 당신의 컬 기능 1 초 만 실행할 수 있습니다, 그래서 여기

+0

이것을 파악한 적이 있습니까? – kalenjordan

답변

0
curl_setopt($socket, CURLOPT_TIMEOUT_MS, 1000); 

당신은 어쩌면이는

입니다 .... ... 컬 기능을 1000으로 실행할 수 있도록 (밀리 초)의 최대 수를 정의

http://php.net/manual/en/function.curl-setopt.php

+0

네, 맞습니다. 그러나 CURL을 사용하여 액세스하는 스크립트에는 ignore_user_abort (TRUE)가 있습니다. 그래서 CURL이 연결을 닫은 후에 멈추지 않아야합니다. – Eugene

0

1) PHP는 매번 연결 중단을 감지하지 않습니다. 그 버그일지도 모릅니다. 2) 리셀러/공유 호스팅에서 작업하는 경우 ignore_user_abort, set_time_limit 등의 값을 변경할 수 없습니다.

관련 문제