症狀:php curl呼叫https出錯
排查方法:在命令列中使用curl呼叫試試看。
原因:伺服器所在機房無法驗證SSL憑證。
解決方法:跳過SSL憑證檢查。
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
症狀:php curl呼叫curl_exec回傳bool(false),命令列curl呼叫正常。
排查方法:
var_dump(curl_error($ch));
檢查初始化和執行cURL函數的回傳值。 curl_error()
並將curl_errno()
在發生故障時傳回進一步的資訊:
try { $ch = curl_init(); if (FALSE === $ch) throw new Exception('failed to initialize'); curl_setopt($ch, CURLOPT_URL, 'http://example.com/'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt(/* ... */); $content = curl_exec($ch); if (FALSE === $content) throw new Exception(curl_error($ch), curl_errno($ch)); // ...process $content now} catch(Exception $e) { trigger_error(sprintf( 'Curl failed with error #%d: %s', $e->getCode(), $e->getMessage()), E_USER_ERROR);}
以上是php curl錯誤排查的方法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!