近期,许多WordPress网站遇到了“cURL error 60: SSL certificate problem: certificate has expired”的问题。这一错误导致SSL证书无法安装,部分插件也无法正常工作。本文将分享几个解决方案,帮助大家有效应对这一问题。
这个错误的出现主要是由于Let’s Encrypt证书停止支持HTTP API请求,导致使用Let’s Encrypt证书的网站无法更新,最终出现证书过期的提示。因此,我们只需手动更新证书即可解决此问题。
解决方法一:手动更新证书
- 首先,从以下链接下载证书文件:cacert.pem。
- 然后,将下载的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 证书问题(证书已过期)的方案