LINUX.ORG.RU

[php] php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution

 


0

0

всем привет.
вылазит такая ошибка при любой попытке соединиться с интернетом из 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-сервера прописаны.

как можно решить?..

Ответ на: комментарий от true_admin

да хотя бы такой..
<?php
$f = file('http://google.com');
?>

Warning: file() [function.file]: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /srv/http/test/test.php on line 2

Warning: file(http://google.com) [function.file]: failed to open stream: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /srv/http/test/test.php on line 2

z-kzn-z
() автор топика
Ответ на: комментарий от isden

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

Non-authoritative answer:
Name: google.com
Address: 74.125.45.100
Name: google.com
Address: 74.125.53.100
Name: google.com
Address: 74.125.67.100
-----------------------------------------------------------
2. google.com говорит
-----------------------------------------------------------
3. то же, что и первое, чего и следовало ожидать)

z-kzn-z
() автор топика
Ответ на: комментарий от z-kzn-z

а попробуй от так, через curl :

$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, 'http://google.com ');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);

var_dump($file_contents);

isden ★★★★★
()
Ответ на: комментарий от z-kzn-z

Ты это из-под вебсервера запускал или через php -r 'blah'?

Внешне похоже на, скажем, работу какого-нить selinux по ограничению прав апачу. Так же покажи на всякий случай ls -la /etc/resolv.conf

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

это из-под сервера. из консоли все работает....

[z-kzn-z@localhost ~]$ ls -la /etc/resolv.conf
-rw-r--r-- 1 root root 53 2009-11-14 09:13 /etc/resolv.conf

z-kzn-z
() автор топика
Ответ на: комментарий от z-kzn-z

покажи тогда phpinfo() у вебсервера.

В фаерволе ничего не мог ограничить модулями типа owner?

Скрипт из консоли нормально запускается?

true_admin ★★★★★
()
Ответ на: комментарий от z-kzn-z

а из консоли ты из-под рута запускал или того юзера http?

Если вместо хостнейма вбить айпишник то сеть работает?

nscd итп никаких не настраивал?

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

из консоли я из-под себя и запускал (я есть в группе http, если что)..
если айпи написать тогда да, работает.
> nscd итп никаких не настраивал?
нет

z-kzn-z
() автор топика
Ответ на: комментарий от z-kzn-z

тогда могу только посоветовать натравить strace на апач в момент запуска скрипта и смотреть что там к чему. Правда, тут вопрос как понять какой инстанс апача твой скрипт будет обрабатывать. Я в таком случае или апач целиком запускаю через strace или MaxClients 1 (как и *SpareServers) и тогда задача облегчается.

Я думаю что проблема тривиально решается, но что-то не могу прикинуть что такое может вызвать. Возможно, в самом апаче какой-нить php_value или в .htaccess ini_set что-нить перекрывает, но, вроде, прикрывать-то и нечего. Но ты, на всякий случай, проверь.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

о как.
как все весело.
убрал из загрузки демон networkmanager, и...
поднял интернет из консоли, и...
и оно, сцуко, заработало!!
---------------------------------------------
как думаете.. что он такое творил, этот networkmanager?

z-kzn-z
() автор топика
Ответ на: комментарий от z-kzn-z

Так, такой вопрос. А ты после поднятия инета рестартовал апач? В линухе всякие роуты итп кешируются. Ситуацию когда приложение без рестарта не видит инет я видел на убунте многократно.

PS рекомендую вынести networkmanager и поставить wicd.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

ну.. у меня короче в арче сначала (когда идет загрузка компа) поднимается инет, а потом httpd, поэтому рестарт апача в принципе не нужен.
---------
а когда был NM, тогда да, рестартовал.. по сто раз рестартовал.. не видел инет. то есть видел, но только по IP.
---------
NM уже снес. зло какое-то вообще, 4 дня убил изза него.
а wicd с PPTP работает?

z-kzn-z
() автор топика
Ответ на: комментарий от anonymous

Дело не в этом. Тут не в ресолвере проблема а в процессе подсоединения к беспроводным сетям. Одним iwconfig wpa2 не поднять.

А с ресолвером dhcp разберётся или свой сервер.

true_admin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.