perl – PayPal IPN:无法获得本地颁发者证书

前端之家收集整理的这篇文章主要介绍了perl – PayPal IPN:无法获得本地颁发者证书前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用curl验证PayPal IPN,但它抛出错误:SSL证书问题:无法获得本地颁发者证书.相同的代码正在开发服务器上,当我移动到客户端服务器时,它无法正常工作.

我是否需要购买ssl认证才能通过PayPal快速结账或我的编码部分的任何更改或任何需要在服务器上进行的设置进行付款.Curl已在服务器上启用.任何帮助将不胜感激.

我的代码如下,以及针对此的简化测试页:

$req = HAVING PARAMETERS FROM PAYPAL;

$ch = curl_init("https://www.sandBox.paypal.com/cgi-bin/webscr");
curl_setopt($ch,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_1);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,CURLOPT_POSTFIELDS,$req);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,CURLOPT_SSL_VERIFYHOST,2);
curl_setopt($ch,CURLOPT_FORBID_REUSE,CURLOPT_HTTPHEADER,array('Connection: Close'));

curl_exec($ch);
if(curl_errno($ch))
{
    echo 'Curl error: ' . curl_error($ch);
}

解决方法

您告诉cURL验证SSL连接,但您没有告诉它要验证什么;
curl_setopt($ch,2);

确保通过添加以下内容指向要信任的CA的最新列表:

curl_setopt($ch,CURLOPT_CAPATH,"./cacert.pem");

如果您自己没有最新的cacert列表,我建议您下载cURL维护者提供的那个:cacert.pem.

猜你在找的Perl相关文章