错误:在Symfony 1.4 prestapaypalplugin直接和快速结账方法中出现“curl_exec错误60 Peer's Certificate issuer”

时间:2013-05-09 10:19:44

标签: curl paypal symfony-1.4

我正在使用prestapaypalplugin表单http://www.symfony-project.org/plugins/prestaPaypalPlugin。我在redme.txt文件中准备了动作文件。但我收到此错误“curl_exec错误60 Peer的证书颁发者无法识别”。有直接付款和快速结账方式。我试过网站付款,工作正常。

感谢。

2 个答案:

答案 0 :(得分:2)

这似乎是CA证书问题。可能这篇帖子对你有帮助:

HTTPS and SSL3_GET_SERVER_CERTIFICATE:certificate verify failed, CA is OK

答案 1 :(得分:1)

  1. 下载https://curl.haxx.se/ca/cacert.pem
  2. 将其重命名为api_cert_chain.crt
  3. 复制到 PROJECTDIR / plugins / prestaPaypalPlugin / sdk / lib / PayPal / cert /(用相同的名称覆盖现有文件)
  4. 或者,您可以在代码中执行此操作。下载cacert.pem并直接在代码中设置它的路径。像这样:

    $caller =& PayPal::getCallerServices($profile);
    $caller->setOpt('curl', CURLOPT_CAINFO, '/PATH/TO/cacert.pem');
    

    请注意,您无法通过更新php.ini中的路径来修复,因为presta会使用 PROJECTDIR /plugins/prestaPaypalPlugin/sdk/lib/PayPal/cert/api_cert_chain.crt覆盖php.ini默认值 PROJECTDIR /plugins/prestaPaypalPlugin/sdk/lib/PayPal/CallerServices.php:

    function CallerServices($profile)
    {
      ...
      $this->setOpt('curl', CURLOPT_CAINFO, dirname(__FILE__) . '/cert/api_cert_chain.crt');