今天使用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/