Я работаю с сервером OS X 10.6, работающим под управлением Apache2 / PHP5, и имею проблему с PHP, который не разрешает имена хостов, когда fopen () пытается получить файл с удаленного сервера. При запуске в интерактивном режиме в командной строке «fopen ()» работает отлично. Однако при запуске через Интернет он всегда завершится ошибкой:
failed to open stream: php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known
Я не могу найти источник этой проблемы: 'fopen ()' работает в сети, когда ему присваивается IP-адрес вместо имени хоста; 'gethostbyname ()' также завершается ошибкой при запуске в Интернете (он не выдает ошибку, он просто возвращает имя хоста, которое было дано для разрешения), но также отлично работает при запуске в интерактивном режиме. Единственное исключение, по-видимому, - dns_get_record (), которое отлично работает при запуске в Интернете или в интерактивном режиме.
Я пытался найти проблемы DNS на сервере, но dig, nslookup и ping всю работу, и "scutil -r" говорит, что удаленный сервер доступен с текущими настройками DNS. Любые идеи о том, где может быть проблема?