XAMPPでSSL certificate problem: unable to get local issuer certificateが出るときの対処

XAMPPでPHPを使っていると、証明書を参照するcurlで失敗することがあります。

SSLエラー画面

エラー画面の例

SSL certificate problem: unable to get local issuer certificate というエラーなどです。楽天用のAPIライブラリ(RakutenRws)でエラーが起こってテストできなかったので対処方法を探しました。

crulにCURLOPT_SSL_VERIFYPEERを無視させる

以外に手こずりましたが、実は1行追加するだけでOK。curlにSSLのベリファイを無視させるだけです。

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

RakuteRwsなら
rakuten-ws/rws-php-sdk/lib/RakutenRws/HttpClient/CurlHttpClient.php の43行目辺りcurlの初期設定を行っているところに、上のの構文を追加するだけ。

もちろんProduction環境ではこの構文は消しましょう。