I m working with an OS X 10.6 Server running Apache2 / PHP5 and having a problem with PHP not resolving hostnames when fopen() tries to retrieve a file from a remote server. When run in interactive mode on the command line fopen() works perfectly. However, when run through the web it will always fail with the error:
failed to open stream: php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known
I m at a loss in finding the source of this problem: fopen() works on the web when given an IP address instead of a hostname; gethostbyname() also fails when run on the web (it doesn t error, it just returns whatever hostname it was given to resolve) but also works fine when run in interactive mode. The only exception seems to be dns_get_record() which works fine when run on the web or in interactive mode.
I ve been trying to find DNS problems on the server but dig, nslookup, and ping all work and "scutil -r" says the remote server is reachable with the current DNS settings. Any ideas on where the problem might be?