On our site we run a few different scripts for various sites (uploading to amazon s3, data from chartbeat, script to count twitter followers) and all of them just stop working from time to time. They work most days, but then some days (like today) they all just stop working.
This simple script to get follower count into PHP
$url = "http://twitter.com/users/show/username"; $response = file_get_contents ( $url ); $t_profile = new SimpleXMLElement ( $response ); $count = $t_profile->followers_count;
Just sits there for a couple minutes, then finally spits out an error that says “Couldn’t resolve host”. Any script we use for an external site gives us this error. I’m not really sure where to check what’s blocking these connections all of a sudden, and why it seems to work most times, then doesn’t for a day or so, then works again.
Update: Contents of resolv.conf
search 147.225.210.rdns.ubiquityservers.com nameserver 184.108.40.206 nameserver 220.127.116.11
The symptoms you describe are a classic case of your DNS servers not responding. When none of the DNS servers are available, then hostnames cannot be resolved to IP addresses, and you can’t reasonably connect to anywhere (at least by name).
It appears that you’re using DNS servers given to you by the datacenter where your server resides. The reliability of such servers is often questionable.
Try using known-good servers such as Google Public DNS instead.
nameserver 2001:4860:4860::8888 nameserver 2001:4860:4860::8844 nameserver 18.104.22.168 nameserver 22.214.171.124
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.