今天使用CURL访问微信平台接口时遇到一个错误,返回错误代码如下:
1
2
|
SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed |
从字面上理解应该是和证书相关,在百度的时候搜索到国外一篇博客: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增加配置选项:
1
|
curl_setopt( $ch , CURLOPT_SSL_VERIFYPEER, FALSE);
|
微信接口返回了正确的access_token。