Работал работал хостинг рос и ширился, и в один прекрасный день перестали работать все операции связанные с вызовом gethostaddr.
Один и тот же скрипт запущенный в режиме cli выполняется, а как модуль
apache не хочет определять имена хостов.
Помогает добавление в /etc/hosts необходимых url-ов.
Включил debug режим error лога, а там
host: isc_socket_create: not enough free resources
Это говорит о том что апач превысил лимит открытых файлов
lsof | grep -c httpd 12790
а при этом в
sysctl -a | grep kern.maxfiles kern.maxfiles: 12328 kern.maxfilesperproc: 11095
Вот собственно и проблема, решить которую можно двумя способами
1. Уменьшить количество открытых файлов
2. Увеличить лимиты
Я уменьшил количество, путем удаления лишних логов (было по 4 на хост стало по 2)
тем самым отсрочив немного эту проблему.
lsof | grep -c httpd 7244
Tags: apache, gethostaddr, gethostbyip, gethostbyname, php