getaddrinfo() failed in Apache 2.2
hakmi at rogers.com
Sat Aug 16 05:41:15 UTC 2008
> I'm working on a problem with Apache 2.2 + PHP on FreeBSD 6.1 x86
> Recently, we've upgraded from Apache 1.3 to v2.2 , and since
> then PHP is unable to resolve hostnames unless they're
> specified in /etc/hosts . The error we'd get would be:
> php_network_getaddresses: getaddrinfo failed: hostname nor
> servname provided, or not known in
> /home/username/public_html/testphp.php on line 2
> This is for a simple <? include(http://www.google.com); ?>
> function. We know it is not a DNS problem, because if PHP is
> setup as a CGI function, it works fine. It is only in DSO
> mode that PHP malfunction like this. We're also having no
> issues with our resolver for mail, ping or any other services.
> Some people were pointing out that this is a fault of FreeBSD
> reaching a maximum number of file descriptors. Others said
> this can't be resolved until upgraded to FBSD 6.3 which we
> are not planning to go through. There are several hundred
> domains hosted on the server, but all was working fine with
> Apache 1.3.
> Our VNODES are a bit high, but haven't seen any errors:
> server# sysctl kern.maxvnodes
> kern.maxvnodes: 100000
> server# sysctl vfs.numvnodes
> vfs.numvnodes: 84805
> server# sysctl kern.maxfiles
> kern.maxfiles: 65536
> kern.maxfilesperproc: 32767
> Anyone be able to guide me in the right direction here?
We seem to have found the source of the issue. It looks like too many opened files by Apache 2.2 is causing this problem.
Once we disable for example CustomLog, everything works fine.
Is there a way around this on FreeBSD ?
More information about the freebsd-questions