WordPressのプラグインのダウンロードができなくなった
LinuxのRHEL7にインストールしたWordPressで、新規プラグインのダウンロードを行うと、画面に「cURL error 77」と出てダウンロードが失敗するので助けて、とヘルプをいただきました。
「cURL error 35: Peer reports incompatible or unsupported protocol version.」というエラーも出ていたようです。
何はともあれデバッグ
あれやこれやと考える前に、WordPressをデバッグモードにして、ログを見ましょう。
WordPressインストールディレクトリ/wp-config.phpを開き、デバッグモードON。
/** define('WP_DEBUG', false); */
// デバッグモードを有効にする
define('WP_DEBUG', true);
// デバッグログを有効にする
define('WP_DEBUG_LOG', true);
// 画面上にデバッグメッセージを表示しない
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);
再起動不要で、WordPressインストールディレクトリ/wp-content/debug.logにログが出ます。
デバッグログを確認する
PHP Warning: 予期しないエラーが発生しました。WordPress.org かこのサーバーの設定に何か問題があるかもしれません。問題が続くようであれば、<a href="https://ja.wordpress.org/support/forums/">サポートフォーラム</a>を参照してみてください。 (WordPress は WordPress.org との安全な接続を確立できませんでした。サーバー管理者にご連絡ください) in /wp-admin/includes/plugin-install.php on line 183
ふむ・・・?
PHP + curlの組み合わせが悪そうです。
まず/etc/php.iniを確認します。
;curl.cainfo =
おおーなるほど。証明書の指定がありませんでした。
証明書をダウンロードします。
wget --no-check-certificate https://curl.se/ca/cacert.pem -O /etc/ssl/certs/cacert.pem
ダウンロードした証明書を、先ほどのphp.iniに設定します。
curl.cainfo = "/etc/ssl/certs/cacert.pem"
apacheを再起動。
これでうまくいきました。