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