解决 cURL 错误 60:SSL 证书问题(证书已过期)的方案

近期,许多WordPress网站遇到了“cURL error 60: SSL certificate problem: certificate has expired”的问题。这一错误导致SSL证书无法安装,部分插件也无法正常工作。本文将分享几个解决方案,帮助大家有效应对这一问题。

这个错误的出现主要是由于Let’s Encrypt证书停止支持HTTP API请求,导致使用Let’s Encrypt证书的网站无法更新,最终出现证书过期的提示。因此,我们只需手动更新证书即可解决此问题。

解决方法一:手动更新证书

  1. 首先,从以下链接下载证书文件:cacert.pem
  2. 然后,将下载的cacert.pem文件内容替换到/wp-includes/certificates/ca-bundle.crt文件中。

完成上述步骤后,证书过期的提醒将不再出现。

解决方法二:通过代码更新证书

如果您觉得手动替换麻烦,可以使用以下代码在主题的函数文件中进行自动替换。

请将下面的代码复制并粘贴到主题的functions.php文件中,然后保存:

/**
* 保存代码后,访问 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: 无法更新 ca-bundle.crt';
}
else {
echo 'ERROR: 无法下载 curl.haxx.se/ca/cacert.pem';
}
}
else {
echo 'ERROR: ca-bundle.crt 不可写';
}

exit;
}

接着,请访问 http://你的网址/?update-wp-ca-bundle,若提示更新成功,即表示操作完成。

解决方法三:使用插件更新证书

如果前两种方法都显得复杂,您可以直接在WordPress后台安装SSL Certificate Manager插件来轻松解决问题。

本站资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。如有侵权请发送邮件至vizenaujmaslak9@hotmail.com删除。:FGJ博客 » 解决 cURL 错误 60:SSL 证书问题(证书已过期)的方案

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址