проблема с PHP (php_network_getaddresses: getaddrinfo failed: Temporary failure....)

Модератор: Модераторы разделов

Аватара пользователя
zkznz
Сообщения: 51
ОС: Gentoo

проблема с PHP

Сообщение zkznz »

всем привет.
вылазит такая ошибка при любой попытке соединиться с интернетом из php. любым способом - fsockopen, fopen, file или даже file_get_contents.
PHP 5.2.11

Код: Выделить всё

Warning: file_get_contents() [function.file-get-contents]: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in %PHP_SCRIPT% on line %LINE%

Warning: file_get_contents(%ANY_URL%) [function.file-get-contents]: failed to open stream: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in %PHP_SCRIPT% on line %LINE%


я подозреваю что проблема как-то связана с dns. в /etc/resolv.conf dns-сервера прописаны.

как можно решить?..
Спасибо сказали:
Аватара пользователя
folibis
Сообщения: 92
ОС: Arch-ик

Re: проблема с PHP

Сообщение folibis »

Проблема явно обозначена - скрипт не может разрешить имя хоста, к которому вы пытаетесь подконнектится. Возможно порт закрыт фаерволом (насколько я помню это UDP 53), либо еще что то в этом роде. Вы с шелла пробовали соединиться? nslookup что говорит?
עת לכל חפץ
Спасибо сказали:
Аватара пользователя
zkznz
Сообщения: 51
ОС: Gentoo

Re: проблема с PHP

Сообщение zkznz »

folibis писал(а):
14.11.2009 17:04
Проблема явно обозначена - скрипт не может разрешить имя хоста, к которому вы пытаетесь подконнектится. Возможно порт закрыт фаерволом (насколько я помню это UDP 53), либо еще что то в этом роде. Вы с шелла пробовали соединиться? nslookup что говорит?

файрвол не стоит, если запустить скрипт из консоли - все норм, если из-под сервера - тогда ошибка...
вот что говорит nslookup:

Код: Выделить всё

[z-kzn-z@localhost ~]$ nslookup google.com
Server:        192.168.1.1
Address:    192.168.1.1#53

Non-authoritative answer:
Name:    google.com
Address: 74.125.53.100
Name:    google.com
Address: 74.125.67.100
Name:    google.com
Address: 74.125.45.100

вот содержимое /etc/resolv.conf

Код: Выделить всё

[z-kzn-z@localhost ~]$ cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.1.1
Спасибо сказали:
JwsD
Сообщения: 129
ОС: ArchLinux

Re: проблема с PHP

Сообщение JwsD »

Та же байда.
Скрипт:

Код: Выделить всё

<?php
file_get_contents('http://ya.ru');
system('nslookup ya.ru');
?>

Результат работы:

Код: Выделить всё


Warning: file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/bkmz/Dev/web/101korm/test.php on line 2

Warning: file_get_contents(http://ya.ru): failed to open stream: php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/bkmz/Dev/web/101korm/test.php on line 2
Server:        8.8.4.4
Address:    8.8.4.4#53

Non-authoritative answer:
Name:    ya.ru
Address: 93.158.134.203
Name:    ya.ru
Address: 213.180.204.3
Name:    ya.ru
Address: 77.88.21.3
Name:    ya.ru
Address: 87.250.250.3
Name:    ya.ru
Address: 87.250.250.203
Name:    ya.ru
Address: 87.250.251.3
Name:    ya.ru
Address: 93.158.134.3


Нужна помощь, решение прописывания в /etc/hosts конечно спасает, но я заранее не знаю какие домены использую, поэтому все плохо. Curl использовать тоже не вариант, куда копать?
Спасибо сказали: