を識別することができないため、私はウェブ開発に慣れていません。私はこのエラーを取得しています:cURL SSLの問題:ローカル発行者
SSL problem: can't identify local issuer
私は、画像を保存したり、ユーザーのFacebookの画像を取得するための関数を呼び出した後:
file_get_contents()
私がやったことです:
- 私はAzureの上で実行されている私のウェブサイトを持っている* .azurewebsites.com
- 私は両方のGoDaddyは から購入された私のカスタムドメインとSSL証明書を追加しました
- 私はに.CRTファイルを追加したことでそれを署名し、.P7Bファイルと.CRTファイル
- を得るためにそれをダウンロードし
- 私のMac上でOpenSSLを使用して(GoDaddyのはを求めた)証明書署名要求(CSR)を作成しましたAzureのすべてが、Facebookのアカウントでログインし、だから、これらの工程の後に
その横に私のカスタムドメインは現在、ロックを持って、正常に動作しますが、そのエラーも私は一時的な修正をしたました:
curl_setopt($rest, CURLOPT_SSL_VERIFYPEER, false);
ですもちろん推薦されませんが、それは私はサイトの残りの部分をテストします。このエラーは引き続き発生しましたが、file_get_contents()を呼び出すときだけです。私はこれらの修正を試してみたものを試しました。
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_CAINFO, getcwd() . "/cacert/cacert.pem");
サイコロはありません。誰かがエラーの意味を正確に説明することができますか?それは素晴らしいだろう。また、これはOpenSSLで証明書署名リクエストを作成している可能性があります。ご確認ください。
ありがとうございました!
なぜファイルを取得するときにssl pemを使用していますか? https://を使用しないと、サーバーに既にインストールされているはずです。なぜこのようにしているのだろうと思っていますか? – unixmiah
私はParse Server PHP SDKを使用しています。curl_setopt($ ch、CURLOPT_CAINFO、getcwd()。 "/cacert/cacert.pem"); ParseClient.phpでファイルを取得するときに、私はfile_get_contents($ _FILES ['userImg'] ['tmp_name'])またはfile_get_contents( 'https://graph.facebook.com/'。$ user ['id ']。'/picture?type = large&return_ssl_resources = 1 ') – adambargh