最近、多くのWordPressサイトで「cURL error 60: SSL certificate problem: certificate has expired」エラーが発生し、SSL証明書のインストールや一部のプラグインのインストールが失敗しています。本記事ではその解決方法を共有します。

この原因は、Let's Encrypt証明書がHTTP APIリクエストのサポートを停止したため、Let's Encrypt証明書を使用しているサイトが証明書を更新できず、証明書の期限切れ警告が表示されることです。そのため、手動で証明書を更新するだけで済みます。
解決方法1:手動で証明書を置き換える:1、
https:\/\/curl.se\/ca\/cacert.pemこのファイルをダウンロードします; 2、cacert.pemの内容を\/wp-includes\/certificates\/ca-bundle.crt ファイルに置き換えます。これで証明書の期限切れ警告は表示されなくなります。
解決方法2:コードで証明書を置き換える:手動での置き換えが面倒な場合は、以下のコードを使用して置き換えることもできます。まず、以下のコードをコピーし、テーマの関数ファイルに貼り付けて保存します。
/**
* 保存代码后访问 http://你网址/?update-wp-ca-bundle
*/
if( isset( $_GET['update-wp-ca-bundle'] ) ){
$crt_file = ABSPATH . WPINC . '/certificates/ca-bundle.crt';
$new_crt_url = 'http://curl.haxx.se/ca/cacert.pem';
if( is_writable( $crt_file ) ){
$new_str = file_get_contents( $new_crt_url );
if( $new_str && strpos( $new_str, 'Bundle of CA Root Certificates' ) ){
$up = file_put_contents( $crt_file, $new_str );
echo $up ? 'OK: ca-bundle.crt updated' : 'ERROR: can`t put data to ca-bundle.crt';
}
else {
echo 'ERROR: can\'t download curl.haxx.se/ca/cacert.pem';
}
}
else {
echo 'ERROR: ca-bundle.crt not writable';
}
exit;
} その後、http:\/\/あなたのURL\/?update-wp-ca-bundle にアクセスし、更新成功のメッセージが表示されれば完了です。
解決方法3:プラグインで証明書を置き換える:上記2つの解決方法が面倒な場合は、WP管理画面で「SSL Certificate Manager」プラグインを直接インストールして解決できます。
プラグインのダウンロードアドレス
コメントは終了しました
この記事のコメント機能は終了しています。ご質問がある場合は、他の方法でお問い合わせください。