Jetpack无法连接到WordPress“Register_http_request_failed”

http://ansonlok.com/getting-jetpack-to-work-with-wordpress/

我想国内很多想使用Jetpack的朋友八九不离十都会看见过以下这个提示:

register_http_request_failed

… with a ‘GnuTLS recv error (-9): A TLS packet with unexpected length was received.‘ error

大伙们第一反应便是各种百度Google,试图去找到一个work的解决方案,而大多数的建议似乎不是修改PHP就是等待PHP的更新(不信,你看)。其实这些都不能解决这个问题,因为正确的解决办法既简单又让人郁闷……

Jetpack “register_http_request_failed”

不过事实证明,这个问题确实跟PHP有关 – 因为当WordPress启动Jetpack时使用的是(外部)运输(external transport),此时你便看到了可恶的 http request failed 提示。那么问题来了,如何fix这个问题?有那么一个插件,它可以轻松更改WordPress的transports方式,以下是AnsonLok的解决方案:

  1. 手动下载Core Control插件或者使用WordPress后台插件里搜索“Core Control”,安装并启动插件;
  2. 激活插件后,后台“工具”选项里会增加一个“Core Control”子选项,点击进去进行设置;
  3. 现在你应该看到有5个模块列表的一个页面 – 勾选 “HTTP Access Module 1.0”,并点击“Save Module Choices”保存;
  4. 保存后,你将会看到有一个新链接选项出现在页面的顶部(”Main Page“旁边),名为“External HTTP Access” – 点击它;
  5. 在第一个选项卡里“Manage Transports”,点击“Disable Transport”关闭“cURL”。

Done!现在尝试去启动Jetpack,它应该不会再唠叨了!

值得注意的是,关闭掉cURL的Transport后Akismet便不好用了,所以Jetpack成功启动后可以按上述方法倒序操作重新启用cURL,同时为了安全起见,关闭Core Control,以免被hacker利用。