I've been having a problem for the last couple of weeks with the Drupal website I've been working on where the webserver couldn't resolve any external URLs, which meant that the website couldn't check for updates, send e-mails, or access anything on the internet because it couldn't resolve web addresses through DNS. Drupal was reporting the error "HTTP status request status: fails".
The problem was in PHP only - command line nslookups and pings were working fine, and I was completely stumped.
It turns out that the problem was caused by a DNS server failure we had a little while back and, while the server came back online very quickly, Apache wasn't able to get itself together.
To fix it, all I had to do was issue the following two commands at the command line:
... and voila - all working again.
What a pain in the arse... ;o)