View Categories

cURL error 28: Connection timed out

You see this when activating, checking or deactivating an update key in the 99Plugs Update Manager, or when an update runs.

It means your server and ours started a conversation and did not finish it. Something in between cut it off.

What is happening

WordPress talks to other sites using cURL, through a core function called wp_remote_post(). We use that function to check your update key against our records and send an answer back.

When it times out, one of the two servers is blocking or dropping the connection. Nine times out of ten it is a firewall or a security module on the hosting side.

Work through this list

Your hosting support can do most of it faster than you can.

  • Check the server is running a current version of PHP and the cURL library
  • Increase the PHP memory limit
  • Increase the cURL timeout
  • Ask whether wp-cron is limited, or loopback requests are disabled
  • Ask whether a firewall or a security module such as mod_security is blocking outgoing cURL requests
  • Install Query Monitor and look at the HTTP API Calls panel on the screen where the error appears

If none of that fixes it

Ask your host to confirm the server can reach 99plugs.com over cURL without restrictions. That is the specific question, and it usually produces a specific answer.

If they are certain there is nothing in the way, open a ticket and give us the IP the request is coming from. We will check it is not blocked on our side. It rarely is, since the server handles hundreds of these every day without trouble, but it takes us two minutes to rule out.

Further reading

This write-up on cURL error 28 in WordPress goes deeper than we do here and is a good thing to hand your hosting support.