WordPress で http_request_failed cURL error 60 が出た場合の対処

,

複数サイトでユーザー情報を同期するプラグイン「 WP Remote Users Sync 」で「 http_request_failed cURL error 60: The certificate issuer’s certificate has expired. Check your system date and time. 」 という謎のエラー。直訳すると「 証明書発行者の証明書の有効期限が切れています。システムの日付と時刻を確認してください。 」となりますが、同じサーバー・ドメインのWordPressを都合に同期しているため「なんで???」となったので色々調べてみました。

http_request_failed cURL error 60

まずこのエラー自体は、SSL暗号化されているhttpsのサイトにアクセスしようとした際にそのサーバが信頼できるか否かの証明書(ca証明書)が取得できなかった時に発生するようです。

WordPressには内部に独自のルート証明書を持っている

色々と調べた結果、WordPressには内部に独自のルート証明書を持っていて使われていることが原因の模様。

解決策

解決方法は以下の2つだと思います。

  1. ルート証明書を差し替える。
  2. 証明書の検証を行わない様にする。

1. ルート証明書を差し替える。

/wp-includes/certificates/ca-bundle.crt を以下のURLからダウンロードして、差し替えを行います。

https://raw.githubusercontent.com/WordPress/WordPress/master/wp-includes/certificates/ca-bundle.crt

2. 証明書の検証を行わない様にする。

以下のコードを functions.php に追加します。

add_action('http_api_curl', function( $handle ){
        curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
}, 10);

差し替えを行えないような場合もあると思うので、こちらの方が手っ取り早いかもしれません。参考までに。

自己紹介

松田 大と申しますm(_ _)m
インディーズでミュージシャンをやっていたのですがいつのまにか…

とある企業でショップのアルバイトスタッフから正社員、支店長を経てシステム部門に異動するという、開発担当としては変わった経緯を持っている方だと思います。

「Excel VBA」からスタートして、Yamaha RTX シリーズで VPN環境構築、Hyper-V環境構築、Windowsアプリ開発などを経験した後、「 WordPress 」に出会い、どっぷりハマっています。

現在勤めているETBS合同会社では、「 WordPress 」を活用したWEBサイト、業務用WEBアプリケーション開発を中心に、記事の執筆代行や掲載に必要な情報のリサーチ、映像のテロップ入れや切りはりなどの簡単な動画編集なども、まとめて行なっています。

現在、代表兼二児のパパ。子育てを通じて、こどもたちにもプログラミングの楽しさに触れてほしいと思うようになり、「 こどもICTかつしか教室 」を開講中。最近は童心に帰り、簡単なゲーム制作なんかも楽しんでいます(^_^)。

“WordPress で http_request_failed cURL error 60 が出た場合の対処” への2件のフィードバック

  1. Kubotaのアバター
    Kubota

    当該のエラーが出て困っておりましたが、2.で解決しました。分かりやすい記事をありがとうございました。感謝申し上げます。

    1. 松田大のアバター
      松田大

      コメントありがとうございます!
      お役に立てたようで何よりです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ビジュアルプログラミング オンライン無料体験レッスン モニター大募集
こどもICTかつしか教室 | 幼稚園年長 小学生 中学生 スクラッチ ビジュアルプログラミング
WordPress で困ったら? | 必要なときに必要な分だけ、お助けサポート
WordPress / PHP なんでも相談OK