Hey,

My company moved last friday and thus so did our development server. The
problem is that since the relocation my (multi) cUrl script doesn't work
anymore.

It hangs on curl_multi_select() because it can't resolve the hostname.

However the CLI of curl works perfectly so I checked the configs (the
development server is an plain (arch)linux - apache - php installation) but
they seem clean. If I comment out the direction to our own dns server in
/etc/resolve.conf the CLI version also stops working so I figure out that
libcurl/php uses another way to resolve eg. via glibc?

So I ran the exact same code (simple curl http get action) on another
machine (with almost same configurations) and it works perfectly.

Using the options CURLOPT_DNS_USE_GLOBAL_CACHE and CURLOPT_DNS_CACHE_TIMEOUT
does not make any differance.

The test code:

$_h = curl_init();
curl_setopt($_h, CURLOPT_HEADER, 1);
curl_setopt($_h, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($_h, CURLOPT_HTTPGET, 1);
curl_setopt($_h, CURLOPT_URL, 'http://www.dns.be/' );
curl_setopt($_h, CURLOPT_DNS_USE_GLOBAL_CACHE, false );
curl_setopt($_h, CURLOPT_DNS_CACHE_TIMEOUT, 2 );

var_dump(curl_exec($_h));
var_dump(curl_getinfo($_h));
var_dump(curl_error($_h));


I found out that when I add the requested domain to my /etc/hosts file (and
thus bypass any dns requests), curl runs and return just fine. So probably
the error is somewhere in dns/bind? My /etc/host.conf lookup order is
'hosts,bind'.

Even worse: if I run 'host dns.be' it returns the requested dns data. which
normaly uses the same routines as gethostbyname() (the c function curl uses
for this).

So this could mean this is perhaps not a dns/bind problem and a fault in how
curl caches dns data or handles ipv4/ipv6 adresses?

I first thought is was a problem with the new glibc version (updated to 2.10
today) but the problem also occured when running glibc 2.8 this morning. See
this : http://udrepper.livejournal.com/20948.html on the 2.10 problem. The
suggested workarounds do not work for me (I saw this comming up i a lot of
forums)

Is there someone familiar with this kind of problems?

I really need this to work again.

Thanks in advance,
Tom Van de Putte

Reply via email to