php checkdnsrr функция только работает на домены доткома?

checkdnsrr только работает на точку com домены?

Если я использую live.com (или любой существующий дотком), checkdnsrr возвращает значение 1 (TRUE), но это всегда возвращает пустую строку для существующей точки net/org. Не имеет значения, если проверка для A или MX, или NS... записывает. Синтаксис правилен или что-то еще?

<?php
$dom ="live.net";
$check = checkdnsrr($dom,'NS');
echo "live $check test ";
?>

TIA

1
задан Jamex 5 August 2010 в 18:17
поделиться

2 ответа

checkdnsrr () вообще не возвращает строку, это функция типа BOOL, так что либо true / false. Прямая печать bools - плохая практика, потому что FALSE не превращается в 0 , как TRUE становится 1 . Он преобразуется в пустую строку и поэтому невидим.

По крайней мере, измените свой чек на что-то вроде:

echo "$dom test: " . ($check ? 'TRUE' : 'FALSE');

и получите правильный текстовый вывод «истина» / «ложь».

При этом live.com и live.net нормально разрешают здесь все типы записей DNS. Я бы предложил использовать host или nslookup или dig на сервере, на котором вы это тестируете, чтобы увидеть, что они получают за ответы. PHP должен использовать тот же преобразователь, что и эти инструменты.

2
ответ дан 2 September 2019 в 22:24
поделиться

Код у меня ты наклеил работы (TM).

Проверьте настройки DNS в вашей системе.

0
ответ дан 2 September 2019 в 22:24
поделиться
Другие вопросы по тегам:

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