天天看點

使用CURL出現certificate verify failed錯誤的解決方法

今天使用CURL通路微信平台接口時遇到一個錯誤,傳回錯誤代碼如下:

<a href="http://my.oschina.net/longjianghu/blog/165132">?</a>

<code>SSL certificate problem, verify that the CA cert is OK. Details:</code>

<code>error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed</code>

從字面上了解應該是和證書相關,在百度的時候搜尋到國外一篇部落格:http://davidwalsh.name/php-ssl-curl-error,發現cURL元件有一個CURLOPT_SSL_VERIFYPEER選項。

CURLOPT_SSL_VERIFYPEER:

禁用後cURL将終止從服務端進行驗證。使用CURLOPT_CAINFO選項設定證書使用CURLOPT_CAPATH選項設定證書目錄 如果CURLOPT_SSL_VERIFYPEER(預設值為2)被啟用,CURLOPT_SSL_VERIFYHOST需要被設定成TRUE否則設定為FALSE。

從7.10開始預設為TRUE。 

于是在CURL增加配置選項:

<code>curl_setopt(</code><code>$ch</code><code>, CURLOPT_SSL_VERIFYPEER, FALSE);</code>

微信接口傳回了正确的access_token。

如何聯系我:【萬裡虎】www.bravetiger.cn

【QQ】3396726884 (咨詢問題100元起,幫助解決問題500元起)

【部落格】http://www.cnblogs.com/kenshinobiy/

繼續閱讀