Вопрос по php, windows, dns – DNS Lookup в PHP

4

У меня есть сервер Windows, который периодически теряет возможность поиска информации DNS. Я пытаюсь найти причину проблемы, но в то же время я хотел бы иметь возможность отслеживать, может ли сервер выполнять поиск.

По сути, он должен пытаться найти некоторые распространенные имена хостов и отобразить «Success» apos; если поиски успешны.

Сайт работает на PHP, поэтому я бы предпочел, чтобы скрипт монитора был на PHP, но если кто-то знает, как это сделать в ASP / .Net, это также сработает.

Ваш Ответ

4   ответа
2

В Windows PHP функции DNS недоступны до PHP 5.3. Вам понадобится класс Pear_ Net_DNS. http://pear.php.net/package/Net_DNS

Пример использования:

require_once 'Net/DNS.php';

$resolver = new Net_DNS_Resolver();
$resolver->debug = $this->debug;
// nameservers to query
$resolver->nameservers = array('192.168.0.1');
$resp = $resolver->query($domain, 'A');

источник:http://code.google.com/p/php-smtp-email-validation/source/browse/trunk/smtp_validateEmail.class.php#232

0

& quot; Пинг & quot; всегда выполняет поиск DNS (как прямой, так и обратный), прежде чем пинговать имя хоста, о котором идет речь. Написание сценария оболочки для использования ping (или копания), чтобы увидеть, действует ли ping wonky, оставлено читателю в качестве упражнения.

Другой вариант заключается в использовании кэширующего DNS-сервера на локальном компьютере, который кэширует ответы от вышестоящего DNS-сервера и отправляет данные из кэша, когда восходящий не работает. Мой собственный Deadwood - это крошечный двоичный файл Windows или UNIX 32 КБ, который может сделать это (64 КБ, если вы хотите полную рекурсию DNS)

0

но есть небольшое ограничение этой функции Журнал изменений: v. PHP 5.3.0 - эта функция теперь доступна на платформах Windows.

если вы не хотите обновлять php на IIS. есть другая альтернатива, которая выполняет dig для бинарных файлов Windows. здеськопать для окон. you may also need that for your own not for any program. it's beyond of old-not-enough nslookup command.

В моем случае это работает, потому что сервер работает под управлением 5.3, но я изначально задавал вопрос, потому что полагал, что эта функция недоступна в Windows. Dave Forgac
6

http://www.php.net/manual/en/function.dns-get-record.php это функция в php, звучит так, как будто вы после.

Благодарю. Эта функция не была доступна в Windows в прошлый раз, когда я пытался это сделать, но она была доступна в PHP 5.3+. Я должен был проверить это снова сначала. Dave Forgac

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