Categories
Internet Technology

Getting Jetpack to work with WordPress

For what must be many months now, my local installation of WordPress has been hassling me to install the Jetpack plugin.

It sounded sorta useful, so I dutifully clicked on Install and was told:

register_http_request_failed

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

Having looked around to try to find a solution, the only suggestion appeared to be to rebuild PHP or to wait for the stabilisation of the newest PHP development branch. This turns out to be wrong, however, and the solution is both simple and maddening…

It turns out that PHP is, as expected, fine – and the problem lies with the (external) transport that WordPress is trying to use. And it also turns out that there is a developer plugin which allows easy updating of the transports available to WordPress. The solution that worked for me was:

  1. Either manually download and install the Core Control plugin, or use the WordPress web-interface to search for “core control” and install the plugin automatically;
  2. Activate the new plugin, which will add a “Core Control” option to the Tools side-bar menu for Admin users – select this option;
  3. You should now see a page with a list of several modules – tick the “HTTP Access Module” and click “Save Module Choices”;
  4. A new link will then appear at the top of the same page, next to “Main Page”, named “External HTTP Access” – select this;
  5. From the first section of options, select “Disable Transport” for “cURL“.

At this point, Jetpack will now allow registration and finally stop nagging!

It is worth noting, however, that having cURL disabled prevents Akismet from being able to contact its servers, so once Jetpack is registered the above sequence should be reversed to re-enable cURL and, to be safe, disable Core Control so as not to accidentally break anything else. Once registration has been successful, Jetpack seems to be happy to continue working even with cURL as the active transport.

26 replies on “Getting Jetpack to work with WordPress”

I tried the procedures you mentioned here but I have a problem. In External HTTP Access screen it says that the Status of cURL is “Not Available”. BTW, I’m trying this out on my local PC (localhost). Can you further help? Thanks in advance.

After I followed these directions, I still got:

Your website needs to be publicly accessible to use Jetpack: site_inaccessible Error Details: The Jetpack server was unable to communicate with your site [IXR -32300: transport error: http_request_failed couldn’t connect to host]

What else can I do. I’m using MAMP

I’ve not seen this myself, and so can’t be sure, but it sounds as if Jetpack/Wordpress.com is attempting to post back to your WordPress installation to confirm activation. This could well be a simple firewall problem – but if the IP address reported by your server doesn’t match the IP address the it listens on, this would be the sort of error I’d expect. Alternatively, if you’re on a (dial-up?) connection without a static IP you may have problems or if you’re on a 3G/4G mobile/cellular link then the network will most likely be blocking incoming connections.

After moving a WordPress blog to a new domain, both Jetpack and Online Backup were broken in a similar manner. When I tried to connect to either service I received a “404” error. After many days of flailing, I finally focused on the PHP error in the error logs: “EACCELERATOR: PHP crashed on opline 420 of curl_exec() at /home/sheilafl/public_html/wp-includes/class-http.php:1237”

Googling [Jetpack curl_exec] lead me to this page, I followed the steps outlined here to “disable transport for cURL” and IMMEDIATELY after doing this, I stopped receiving the 404 error and both plugins connected to their respective services.

This has been a totally maddening quandary for me on-and-off for almost two weeks. I offer you my sincere thanks for posting this information and helping me on the path to a solution.

Leave a ReplyCancel reply

Exit mobile version