Я пишу простую форму, чтобы проверить, доступен ли домен .com. Я оцениваю 3 метода (@dns_get_record, gethostbyname() и checkdnsrr()) для группы тестовых доменных имен с приведенным ниже кодом, но я получаю все недоступные записи для gethostbyname() и checkdnsrr(), которые вы можете см. @ http://suggestmyname.com/nonwp/arraypush.php, если вы обновите несколько раз . У меня не возникает этой проблемы при работе на моем локальном тестовом сервере, кто-нибудь знает, в чем причина несоответствия? Также не все домены проверяются на моем удаленном сервере, а находятся на моем локальном тестовом сервере.
$sdomains = array();
array_push($sdomains, 'etc.com');
function domainAvailable1($domain){
$results = @dns_get_record($domain, DNS_ANY);
return empty($results);
}
function domainAvailable2($domain){
return gethostbyname($domain) == $domain;
}
function domainAvailable3($domain){
return !checkdnsrr($domain, 'ANY');
}
echo '<table><tr><td>@dns_get_record</td><td>gethostbyname</td><td>checkdnsrr</td></tr>';
foreach($sdomains as $sdomain){
if (domainAvailable1($sdomain) == true){
echo '<tr><td bgcolor=green>' . $sdomain . ' is available!</td>';
} else {
echo '<tr><td bgcolor=red>' . $sdomain . ' is NOT available.</td>';
}
if (domainAvailable2($sdomain) == true){
echo '<td bgcolor=green>' . $sdomain . ' is available!</td>';
} else {
echo '<td bgcolor=red>' . $sdomain . ' is NOT available.</td>';
}
if (domainAvailable3($sdomain) == true){
echo '<td bgcolor=green>' . $sdomain . ' is available!</td></tr>';
} else {
echo '<td bgcolor=red>' . $sdomain . ' is NOT available.</td></tr>';
}
}
@
для вызоваdns_get_record()
? - person zerkms   schedule 05.06.2012dns_get_record
:Because of eccentricities in the performance of libresolv between platforms, DNS_ANY will not always return every record, the slower DNS_ALL will collect all records more reliably.
Возможно, это то, с чем вы столкнулись, но я не уверен. Как показывает опыт, запросыANY
обычно не слишком надежны. - person drew010   schedule 05.06.2012