Процесс звоня getaddrinfo () при начальной загрузке постоянно застревает в плохом/etc/resolv.conf?

php если бы  начальная загрузка сценарий не был, то Вы никогда не должны вставлять это /etc/init.d

Обычно у Вас должна быть названная ссылка символа php в /opt/lampp/bin/ , который связан с /opt/lampp/bin/php-5.3.8

(В противном случае сделайте ln -s /opt/lampp/bin/php-5.3.8 /opt/lampp/bin/php сделать эту работу)

И в Вашем ~/.bashrc, добавьте больше пути к $PATH:

export PATH=$PATH:/opt/lampp/bin/

И Вы выполняете свой сценарий как это на любом каталоге:

php XX.php

2
13.09.2013, 11:30
1 ответ

Интерфейсы Unix и внутренний дизайн датируются со времени, когда конфигурация сети была очень статической вещью. Не было никаких ноутбуков и никаких динамических IP-адресов, присвоенных DHCP. Поэтому система не была разработана для отправки события в приложения когда изменения конфигурации сети. Приложения читают конфигурацию DNS в /etc/resolv.conf однажды, когда они запускают, и вот именно.

Современный способ справиться с изменением конфигураций сети состоит в том, чтобы выполнить локальный прокси DNS. По общему признанию требовалось много времени, но все больше дистрибутивов начинает делать это конфигурацией по умолчанию (я думаю запуск Ubuntu, делающий его с 12,04). Имейте только 127.0.0.1 перечисленные как сервер имен в /etc/resolv.conf, и позвольте своему DNS проксировать, справляются с изменениями конфигурации.

Dnsmasq является популярным выбором для легкого прокси DNS и сервера. Выберите его, если у Вас нет серьезного основания выбрать другого. Это - то, что использует Ubuntu. Это также, что мой домашний маршрутизатор с процессором MIPS и выполнениями RAM 16 МБ, таким образом, Ваш Pi сильно подавлен для выполнения его.

Как обычная Дуга Linux не поставлется с рабочей конфигурацией из поля, но Wiki имеет четкие и подробные инструкции.

2
27.01.2020, 22:14
  • 1
    Спасибо; это, кажется, правильный ответ с пользовательской точки зрения. С точки зрения приложения (pianod открытый исходный код), я все еще хотел бы знать, существует ли лучшее решение, чем вспоминание res_init () после отказов GAI. Я предполагаю, что мог посмотреть в _res вручную, чтобы проверить, похоже ли, что что-то глупое там, и только затем назовите res_init ()...? –  Chinasaur 08.09.2013, 07:38
  • 2
    Кроме ввода по абсолютному адресу в _res является, вероятно, хрупким, и как Вы указываете, localhost не является по сути глупой вещью найти там... –  Chinasaur 08.09.2013, 07:43
  • 3
    @Chinasaur Вы могли звонить res_init снова после отказа, но это не нормальная вещь сделать. Я даже не знаю, если вызов его многократно поддерживается. С точки зрения приложения это до системного администратора. –  Gilles 'SO- stop being evil' 08.09.2013, 14:15
  • 4
    Документы подразумевают, что можно сделать это, но они действительно говорят, что это необычно. Я имею в виду, казалось бы более странным мне потребовать прокси DNS как зависимости для pianod, таким образом, я не вижу слишком многих опций... –  Chinasaur 10.09.2013, 05:47

Теги

Похожие вопросы