0

私は prestapaypalplugin フォームhttp://www.symfony-project.org/plugins/prestaPaypalPluginを使用しています。redme.txt ファイルに指定されているアクション ファイルを用意しました。しかし、「curl_execエラー60ピアの証明書発行者が認識されていません」というエラーが発生しました。直接支払いとエクスプレスチェックアウト方法の両方。ウェブ決済を試しましたが、うまくいきました。

ありがとう。

4

2 に答える 2

2

CA証明書の問題のようです。この投稿があなたに役立つかもしれません:

HTTPS および SSL3_GET_SERVER_CERTIFICATE: 証明書の検証に失敗しました。CA は問題ありません

于 2013-05-09T10:30:05.113 に答える
1
  1. ダウンロードhttps://curl.haxx.se/ca/cacert.pem
  2. 名前を api_cert_chain.crt に変更します
  3. PROJECTDIR /plugins/prestaPaypalPlugin/sdk/lib/PayPal/cert/にコピー(既存のファイルを同名で上書き)

または、コードでそれを行うこともできます。cacert.pem をダウンロードし、そのパスをコードに直接設定します。このようなもの:

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

presta はPROJECTDIR /plugins/prestaPaypalPlugin/sdk/lib/のPROJECTDIR /plugins/prestaPaypalPlugin/sdk/lib/PayPal/cert/api_cert_chain.crt でphp.ini のデフォルトをオーバーライドするため、php.ini のパスを更新しても修正できないことに注意してください。PayPal/CallerServices.php:

function CallerServices($profile)
{
  ...
  $this->setOpt('curl', CURLOPT_CAINFO, dirname(__FILE__) . '/cert/api_cert_chain.crt');
于 2016-11-18T05:04:48.007 に答える