0 レビュー
0 回答
PHP Curl証明書の問題、一度だけ修正してください
これは重複ではありません。これに関する何百もの投稿とドキュメントを読みましたが、ほぼすべてのテストケースをテストしたにもかかわらず、ローカルマシンでcURLを動作させることができません。
PHP情報
バージョン:5.5.36
php.ini
: / etc / php.ini
SSL:はい
SSLバージョン:SecureTransport
ここからダウンロードした証明書: https://curl.haxx.se/docs/caextract.html
php.inicURLcainfo設定
[curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an
; absolute path.
curl.cainfo=/Users/me/cacert.pem
PHPスクリプト(リクエスト自体はPostmanで機能します)
curl_setopt($curl, CURLOPT_URL, 'https://android.googleapis.com/gcm/send');
// headers include json content type ang GCM authorization key
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POST, 1);
// json is correct, works via postman with same params
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($fields));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_CAINFO, '/Users/me/cacert.pem'); // it exists
テストケースの説明とエラー
上記のパラメータを使用
SSL:証明書の検証に失敗しました(結果:5)
>
CURLOPT_SSL_VERIFYPEER
をfalse
に設定し、CURLOPT_CAINFO
SSL:CA証明書が設定されていますが、証明書の検証が無効になっています
CURLOPT_CAINFO
のみを削除する場合は、CURLOPT_SSL_VERIFYPEER
をtrue
SSL:証明書の検証に失敗しました(結果:5)
YosemiteのcURLの問題について読みました(OS ElCapitainを使用しています)。
curl --cacert /Users/me/cacert.pem https://google.com
を実行すると、コマンドラインからcurl: (51) SSL: certificate verification failed (result: 5)
も取得されますが、 https://paypalで機能します。 .com
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。