php調試curl錯誤訊息的方法:1、使用函數【curl_errno】和【curl_error】,分別傳回HTTP的錯誤代碼和錯誤類別;2、設定【CURLOPT_VERBOSE】為true,同時設定為用fopen開啟的一個檔案。
php偵錯curl錯誤訊息的方法:
##第一種方法,首先可以使用的是curl_errno 和
curl_error 函數,分別傳回HTTP 的錯誤代碼和錯誤類別。例如:
<?php $ch = curl_init('http://example.com/'); curl_exec($ch); if (curl_errno($ch)) { echo 'Curl error: ' . curl_error($ch); } curl_close($ch); ?>
curl_getinfo 函數。例如:
<?php $ch = curl_init('http://example.com/'); curl_setopt($ch, CURLINFO_HEADER_OUT, true); curl_exec($ch); if (!curl_errno($ch)) { print_r(curl_getinfo($ch)); } curl_close($ch); ?>
CURLINFO_HEADER_OUT 選項之後
curl_getinfo 函數傳回的陣列將包含 cURL 請求的 header 資訊。而要看到回應的 header 訊息可以在 curl_setopt 中設定
CURLOPT_HEADER 選項為 true。
curl_exec 函數執行成功時,將根據
CURLOPT_RETURNTRANSFER 選項的值處理回應的正文資訊:如果為true 將作為字串傳回,如果為false 將直接輸出。執行失敗時結果為 FALSE。也就是說,如果執行失敗(假設是 400 錯誤),從 curl_exec 函數的結果中無法看到回應的正文(裡面可能包含更具體的錯誤訊息)。要看到回應正文,有兩種方法。第一種方法是設定400 為成功的程式碼,範例如下:
curl_setopt($ch, CURLOPT_FAILONERROR, false); curl_setopt($ch, CURLOPT_HTTP200ALIASES, array(400));
第二種方法,是設定CURLOPT_VERBOSE 為true,同時將
CURLOPT_STDERR 設定為用fopen 開啟的一個檔案。這樣 cURL 將把和伺服器的所有互動資訊都記錄到該檔案中。
相關學習推薦:php程式設計(影片)
#
以上是php如何調試curl錯誤訊息的詳細內容。更多資訊請關注PHP中文網其他相關文章!