perl – PayPal IPN:无法获得本地颁发者证书
发布时间:2020-12-15 21:55:20 所属栏目:大数据 来源:网络整理
导读:我使用curl验证PayPal IPN,但它抛出错误:SSL证书问题:无法获得本地颁发者证书.相同的代码正在开发服务器上,当我移动到客户端服务器时,它无法正常工作. 我是否需要购买ssl认证才能通过PayPal快速结账或我的编码部分的任何更改或任何需要在服务器上进行的设
我使用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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |