php curl常見錯誤:SSL錯誤、bool(false)


症狀: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));

返回:

string(23) "Empty reply from server"

再排查:

    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);

返回:

HTTP/1.1 100 Continue
Connection: close

原因:php curl接收到HTTP 100就結束了,應該繼續接收HTTP 200

解決方案:

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));

 

參考資料:

http://the-stickman.com/web-development/php-and-curl-disabling-100-continue-header/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM