关于php微信企业付款时CA证书错误的解决方法

来源:互联网 发布:什么是淘宝美工 编辑:程序博客网 时间:2024/05/22 12:36
$ch = curl_init ();
$MENU_URL = "https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers";
curl_setopt ( $ch, CURLOPT_URL, $MENU_URL );
curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, "POST" );
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, true );
curl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, 2 );


$zs1 = getcwd()."/apiclient_cert.pem";
$zs2 = getcwd()."/apiclient_key.pem";
$zs3 = getcwd()."/rootca.pem";
curl_setopt ( $ch, CURLOPT_SSLCERT, $zs1 );
curl_setopt ( $ch, CURLOPT_SSLKEY, $zs2 );
curl_setopt ( $ch, CURLOPT_CAINFO, $zs3 );
// curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01;
// Windows NT 5.0)');
curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION, 1 );
curl_setopt ( $ch, CURLOPT_AUTOREFERER, 1 );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
$info = curl_exec ( $ch );


if (curl_errno ( $ch )) {
echo 'Errno' . curl_error ( $ch );
}


curl_close ( $ch );

这是最后一步请求的时候$zs1 = getcwd()."/apiclient_cert.pem";
$zs2 = getcwd()."/apiclient_key.pem";这3个证书的路径必须加上getcwd()才能正确访问到,否则会访问不到路径
$zs3 = getcwd()."/rootca.pem";

0 0
原创粉丝点击