Well, I’ve just spent a good half an hour trying to jog my memory on how exactly I got WordPress to update itself the last time I tried. Googling for a solution didn’t really help either, as the general consensus was “Do it manually!”.
Not one to give up on a problem I tried to remember what I had done… I do recall having set up something via FTP… Did I need a server running for the update? No… All I would get was an error saying the download had timed out. This told me my file permissions, that do seem to cause a lot of issues, were good. But why was the download failing?
The file it was trying to down load was http://downloads.wordpress.org/release/wordpress-4.4.1-new-bundled.zip. I checked the firewall, outbound HTTP traffic was fine, attested to the fact I’d successfully updated the rest of the system only minutes earlier. What was the problem? One sure fire way to find out – WGET, a command line function that will download a file from a web server… And what did it tell me? http:// was no longer supported on the server, trying https:// Ah, at last! I’d opened port 80, but SSL uses port 443! I opened the outgoing port et voila! Update successful!
So just remember, if you do get any error messages, try recreating the error outside of wordpress, it can help immensely!