我有更新升级程序的执念,看到有新版而不能更新,心里会特别纠结。但我的 WordPress 程序和主题、插件,近半年多来一直不能在线更新,让我特别的不爽。
之前认为是网络访问的问题,由于 wordpress.org 网站在国外,很容易会被屏蔽,使用 WP-China-Yes 插件就解决了。详见(WordPress 更新插件出现"下载失败。cURL error 77"的解决方法),但这次却没有效果,仍然显示错误。
网友分析,会不会是我网站所在的腾讯云服务器本身限制了访问 WordPress 升级包的源网站,所以导致不能下载。但我就此咨询了腾讯客服,她明确表示没有这样的设定。
后来在网上看到有网友解决“下载失败。 cURL error 77”的文章,说是因为 SSL 证书错误的原因,如果 SSL 的版本是 NSS 的话,就会出现这个问题。
cURL 是一个功能强大的命令行工具,可以用于处理与网址(URL)相关的操作。它被广泛用于各种场景,比如自动化测试、爬虫、网页抓取等等。该工具确保数据传输的可靠性和安全性,可以通过各种协议进行数据通信。cURL 是为了在UNIX系统中使用而设计的,但它在几乎所有操作系统中都可以运行。
SSL 是多层加密的安全协议。使用 SSL 进行通信可以确保数据传输的完整性和机密性。cURL -SSL 就是用于支持 SSL 通信的选项之一。在使用加密通信的时候,必须使用该选项。
而自2022年3月起,cURL 已正式弃用对 NSS 的支持,并建议用户迁移到 OpenSSL 。
我查看了服务器的 phpinfo 信息,其中 cURL 组件中的 SSL Version 真的是 NSS 呢。SSL 的通信不支持,自然下载的通道就不通了,也难怪总是报错呢。
运维人员也觉得很奇怪,他说当初安装服务器 LNMP 环境时,选择的是 OpenSSL 呀,什么时间变成 NSS 了?我猜测,可能是有次发生后台登录不上的问题,我让服务器技术人员解决过,会不会是那时的某个操作改动了这个组件。
看了很多将 NSS 更换为 OpenSSL 的教程,但都非常复杂,加上客服检测到我的某个网站可能被侵入了,所以我重装了服务器操作系统,这次用了自己相对熟悉的宝塔面板,完成网站迁移后,顺利实现 WordPress 的在线更新。
而且原来一直出错的评论回复邮件提醒通知功能,出一同恢复正常了。如此看来,cURL 中 SSL 通信影响了多个 WordPress 功能的正常运行。
不错。有帮助。
@万有引力 为这个不能在线更新,我是抓狂了很久,现在终于舒坦了。