Sign up ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I have the following simple test script for cURL/php on a FC12/apache server that has PHP 5.3.2, cURL v7.19.7 (according to phpinfo()):

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, '');
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_HEADERFUNCTION, 'read_header');
curl_setopt($ch, CURLOPT_WRITEFUNCTION, 'read_body');
if ($error = curl_error($ch)) {
    echo "Error: $error<br />\n";
function read_header($ch, $string)
    $length = strlen($string);
    echo "Received $length bytes<br />\n";
    return $length;

Now, if I run it through the browser it returns: "Error: Couldn't resolve host ''"

If I run it through my php-cgi command line on the server it returns what you would expect (sans all the BRs):

Header: HTTP/1.1 200 OK
Header: Date: Tue, 13 Jul 2010 20:08:09 GMT
Header: Expires: -1
Header: Cache-Control: private, max-age=0
Header: Content-Type: text/html; charset=ISO-8859-1
Header: Server: gws
Header: X-XSS-Protection: 1; mode=block
Header: Transfer-Encoding: chunked
Received 2507 bytes
Received 1589 bytes
Received 1362 bytes
Received 2734 bytes
Received 1690 bytes

If I change the google line to google's ip e.g. then the script works through the browser as well as through the command line.

dig, ping, nslookup and general dns seem to be working fine on this machine. I should add that DNS for this site is using a subdomain and getting it's DNS from a Windows 2003 domain controller.

share|improve this question

2 Answers 2

Edit your /etc/resolv.conf and add a DNS




service networking restart

And try again

First is a Google DNS and orther one from level 3

share|improve this answer

Perhaps this post will be of some help:

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.