WordPress提示 没有可以完成请求的HTTP传输器 – 似水流年

  • A+
所属分类:其他杂项
本文信息本文由方法SEO顾问发表于2016-05-2410:47:36,共 1206 字,转载请注明:WordPress提示 没有可以完成请求的HTTP传输器 – 似水流年_【方法SEO顾问】

最近Wordpress官方发布了4.3的中文版,我对于最新的软件或者插件版本向来就有着相当大的乐趣在里面。追求最新鲜的功能体验,说不上来是为什么,或许只是对未知的猎奇心比较强。

觉得上传文件到服务器更新太过于繁琐,所以就点击了“现在更新”按钮。既然人家官方都做了这个功能,何必再自己劳心劳力呢?然后……然后……就没有然后了,系统出现错误提示:没有可以完成请求的HTTP传输器。一开始我以为是网络问题,或许隔一段时间再更新会有更大的希望。

结果,你已经知道了。尝试了三四次,每次都是同一种错误提示,而且屡试不爽。我就纳了闷了,服务器的安全设置也没有严格到不允许请求wordpress.org啊!甚至有一次我还下载了一个版本的更新文件,然后上传到项目目录去覆盖。最后的麻烦事就是,我得把以前目录里改过了页面重新再改一遍,重复性的无意义的劳动让人很憋屈。

于是我就开始在网上冲浪了,查找更新失败的原因。

网络限制问题?

有些网友说,部分地区的机房或者空间由于服务商的网络限制,无法直接更新官方的一些版本或者插件。而这说明有部分原因确实是网络引起的,只能通过手动下载然后上传到空间目录。

PHP的curl模块

但是,这种说法对我完全不适用,因为我们使用的是服务器托管,而且是双线机房。不存在网络限制问题,或者服务运营商的网络安全屏蔽设置。所以那肯定有其他原因,最后我找到了也遇到同种问题的网友说明,原来是php的curl模块。

PHP支持的由Daniel Stenberg创建的libcurl库,允许你与各种的服务器使用各种类型的协议进行连接和通讯。

libcurl目前支持http、https、ftp、gopher、telnet、dict、file和ldap协议。libcurl同时也支持HTTPS认证、HTTP POST、HTTP PUT、 FTP 上传(这个也能通过PHP的FTP扩展完成)、HTTP 基于表单的上传、代理、cookies和用户名+密码的认证。

这个是百科的详细说明,curl库就是用来服务器项目的对外连接和通讯。所以没有开启这个模块,对于类似协议的连接和请求均无法实现。而这也解释了更新的时候为什么找不到HTTP传输器。

1

;extension=php_curl.dll

在php.ini中找到这一句话,把前面的分号去掉,就实现了模块开启。重启下apache服务就搞定了。

需要注意的是,wordpress在更新版本或者插件的时候,下载更新往往需要先进行文件缓存。这里就涉及到2个参数配置:

1

2

max_execution_time=60   //php脚本的最大执行时间,默认60秒,如果觉得文件60s下载不完的话,建议放宽时间限制,0为无限制

post_max_size=8M       //post请求下php能接收的文件最大容量,默认为8M,如果文件过大的话建议放宽,0为无限制

把这几个参数配置完善,再更新版本应该不会有其他问题了。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: