Domain not solved from script

Hello !

I have a small problem on one of our servers - web server. From scripts (PHP and/or Perl) the domains cannot be solved to an IP address. From console everything works fine but from any sort of script the domain name cannot be solved - no matter is that domain is hosted on the same webserver or not.
Anyway, the domain is solved if I manualy put a record in /etc/hosts but this is not a solution as I don't know what domains every client accesses.

Does anybody have an ideea why is this strange behaviour ?

Which apache version is that ? Have you checked the log file, does HostnameLookups is set Off ? Can you show relevant part of the perl script ?

HostnameLookup is set to on, but the situation is the same.

In error_log I don't see anything weird, except:
shmget() failed: Cannot allocate memory
Failed to start up concurrent users module!

Is this a possible cause ?

Is this in the apache log ? This is usually an PHP error message. Still, you haven't shown your scripts, what DNS functions are implemented ? gethostbyaddr, gethostbyname , ENV{HOSTNAME} ?

Yes, I get that in apache error_log file, but I realised that it is not connected to this error. I have a small script that I just made:

<?php
$host= "www.unix.com";
$sc  = fsockopen($host,80) or die("Error creating socket");
$out = "GET / HTTP/1.1\r\n";
$out.= "Host: $hostrn";
$out.= "Connection: Close\r\n\r\n";
fwrite($sc, $out);
fclose($sc);
?>

The error that I get in the browser is this:

Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: hostname nor servname provided, or not known in /home/test/public_html/test.php on line 3

Warning: fsockopen() [function.fsockopen]: unable to connect to www.unix.com:80 (Unknown error) in /home/test/public_html/test.php on line 3
Error creating socket

On another server it works perfectly - the diference is that the apache version is 1.3, not 2.0.

Is your apache running in a chroot?

No, it is not running in chroot or jail. It is a simple install.

Anyway, I solved this by downgrading to Apache 1.3. It's not what I wanted but at least now everything works fine.