代码如下,一直报58错误码,我改了路径绝对路径,都试过,都是报58错误,希望帮我看看什么问题
public function post_back_it($url, $str, $second=30,$aHeader=array())
{
$curl = curl_init();
curl_setopt($curl,CURLOPT_TIMEOUT,$second);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl, CURLOPT_SSLCERT,getcwd().'/apiclient_cert.pem');
curl_setopt($curl, CURLOPT_SSLCERT,getcwd().'/apiclient_key.pem');
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $str);
$result = curl_exec($curl);
if($result){
curl_close($curl);
return $result;
}
else {
$error = curl_errno($curl);
echo "call faild, errorCode:$error\n";
curl_close($curl);
return false;
};
}
去商户后台重置了下证书,就好了!!!
证书路径必须是“绝对”路径。我之前也是一直报“
curl 错误码 58
”的错误,修改为绝对路径后,demo测试通过了。仅供参考(这几天一直在纠结这个问题,当时百度看到你的问题)。楼主好人。现在要去线上测试了。
一个'CURLOPT_SSLCERT',另一个是'CURLOPT_KEY'