2
我有一個php腳本,使用curl從外部網站獲取數據,然後在三分鐘後重新加載自身,獲取新數據並顯示更新。它的工作正常,但如果有網絡故障,並且我認爲它是curl沒有得到響應,php只是掛起而沒有返回錯誤或任何東西。這些懸掛過程需要手動終止。Php處理不負責任的捲曲
我該如何處理這種情況?調整捲曲選項?修改php腳本,它看着無反應curl?或者通過ajax處理瀏覽器中的所有內容,包括解僱一個殺死掛起的php進程的腳本?
解決方案:我已經添加
curl_setopt($ch, CURLOPT_FAILONERROR = true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
我捲曲並增加了一個捕捉這些錯誤,我的反應檢查的一部分。從概念上講,這只是需要的,CURLOPT_CONNECTTIMEOUT似乎不是必需的,因爲我已經在發生錯誤時設置了重新加載。
它與手動斷開連接,但我還沒有看到腳本如何處理現實生活中的網絡故障。應該沒問題。
檢查這個http://stackoverflow.com/questions/11297320/using-a-try-catch-with-curl-in-php – Naeem
添加自定義異常類的錯誤處理程序,把一個嘗試catch阻止捲髮。 – DanFromGermany