Hallo zusammen,
ich habe das folgende Skript:
Es liefert die folgende Ausgabe:
Bei einer nicht bekannten IP-Adresse wie z.B. 208.66.195.10 braucht das normale gethostbyaddr ca. 20 Sekunden. Mit ar_gethostbyaddr jedoch ca. 4 Sekunden obwohl ein Timeout von 1 Sekunde eingestellt ist.
Hat jemand eine Ahnung was hier das Problem sein kann bzw. eine Alternative? Kennt irgendjemand ein Tutorial zu der Funktion host? Konnte dazu im Netz nicht finden.
Danke für eure Hilfe.
Grüße, Heppi.
ich habe das folgende Skript:
PHP-Code:
<?php
function getmicrotime(){
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
function ar_gethostbyaddr($ip){
$output = `host -W 1 $ip`;
if(ereg('.*pointer ([A-Za-z0-9.-]+)\..*', $output, $regs))
return $regs[1];
return $ip;
}
//*** gethostbyaddr 208.66.195.10 *********************************
$time_start = getmicrotime();
echo 'Host: '.gethostbyaddr('208.66.195.10').'<br>';
$time_end = getmicrotime();
echo "Dauer: ".round(($time_end - $time_start), 20)."<br><br>";
//*** gethostbyaddr 208.66.195.10 mit Timeout *********************
$time_start = getmicrotime();
echo 'Host: '.ar_gethostbyaddr('208.66.195.10').'<br>';
$time_end = getmicrotime();
echo "Dauer: ".round(($time_end - $time_start), 20)."<br><br>";
//*** gethostbyaddr 217.72.195.42 *********************************
$time_start = getmicrotime();
echo 'Host: '.gethostbyaddr('217.72.195.42').'<br>';
$time_end = getmicrotime();
echo "Dauer: ".round(($time_end - $time_start), 20)."<br><br>";
//*** gethostbyaddr 217.72.195.42 mit Timeout *********************
$time_start = getmicrotime();
echo 'Host: '.ar_gethostbyaddr('217.72.195.42').'<br>';
$time_end = getmicrotime();
echo "Dauer: ".round(($time_end - $time_start), 20);
?>
Host: 208.66.195.10
Dauer: 20.036051988602
Host: 208.66.195.10
Dauer: 4.010468006134
Host: ha-42.web.de
Dauer: 0.00067806243896484
Host: ha-42.web.de
Dauer: 0.0077528953552246
Dauer: 20.036051988602
Host: 208.66.195.10
Dauer: 4.010468006134
Host: ha-42.web.de
Dauer: 0.00067806243896484
Host: ha-42.web.de
Dauer: 0.0077528953552246
Hat jemand eine Ahnung was hier das Problem sein kann bzw. eine Alternative? Kennt irgendjemand ein Tutorial zu der Funktion host? Konnte dazu im Netz nicht finden.
Danke für eure Hilfe.
Grüße, Heppi.
Kommentar