2010-07-13 71 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()?如果您對此有任何想法,請告訴我。

PS。 set_time_limit()被設置爲一個很高的值,並且cpanel捕獲所有錯誤到錯誤日誌中,所以它不會死於致命錯誤。

+0

有沒有想到這一點? – kalenjordan 2012-05-04 16:54:37

回答

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 2010-07-14 07:48:38

0

1)PHP每次都檢測不到連接中止。可能是它的一個缺陷。 2)如果您正在經銷商/共享主機上工作,那麼您將無法更改ignore_user_abort,set_time_limit等的值。