php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.08.2007, 18:08  
Erfahrener Benutzer
 
Registriert seit: 27.08.2003
Beiträge: 449
PHP-Kenntnisse:
Fortgeschritten
GSJLink
Standard gethostbyaddr Problem

Hallo,

ich hab irgendwie ein kleines Problem mit der Funktion gethostbyaddr();.

Bei manchen Leuten (mit demselben Provider, allerdings über das Bundesgebiet verstreut) braucht der Befehl ziemlich lange, bis er entweder was ausspuckt oder nichts ausspuckt.

Die Usercomments im Manual bestätigen dies scheinbar auch.

Gibt es da irgendwie eine Alternative? Den Befehl würde ich schon gerne nutzen, bzw. das was er ausspuckt. Gibt es zumindest eine Lösung, den Host bei den Leuten, wo der Befehl keine 20 - 25 sek braucht, um nichts auszuspucken auszugeben?


mfg
Link
GSJLink ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 18.08.2007, 18:14  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo GSJLink,

du kannst den Befehl durch einen system()-Aufruf auf gethostip, oder ein anderes Binary ersetzen, das einen Timeout für derartige Anfragen unterstützt. Dies kann mann dann entsprechend wrappen und im Fehlerfall einen Error-String o.ä. zurückgeben.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 18.08.2007, 18:22  
Erfahrener Benutzer
 
Registriert seit: 27.08.2003
Beiträge: 449
PHP-Kenntnisse:
Fortgeschritten
GSJLink
Standard

Wie funktioniert das genau mit dem Timeout?

Meinst du mit gethostip eine eigene Funktion?

mfg
Link
__________________
"Ein Script ist nur dann gut, wenn es unabhängig von der verwendeten Plattform funktioniert"
GSJLink ist offline   Mit Zitat antworten
Alt 18.08.2007, 18:36  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Vielleicht reicht ja schon Ajax?
Zergling-new ist offline   Mit Zitat antworten
Alt 18.08.2007, 18:48  
Erfahrener Benutzer
 
Registriert seit: 27.08.2003
Beiträge: 449
PHP-Kenntnisse:
Fortgeschritten
GSJLink
Standard

Hm gerade bei sowas würde ich es vermeiden AJAX zu benutzen. Da ist man ja schon wieder JS abhängig


mfg
Link
__________________
"Ein Script ist nur dann gut, wenn es unabhängig von der verwendeten Plattform funktioniert"
GSJLink ist offline   Mit Zitat antworten
Alt 18.08.2007, 19:24  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Besser als abhängig vom Timeout zu sein..
Zergling-new ist offline   Mit Zitat antworten
Alt 18.08.2007, 21:02  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo GSJLink,

gethostip ist ein LINUX-Binary, das dem System beiliegt. Ich hab auch nach einem Workaround gesucht, den ich mal dafür implementiert hatte, finde den aber grade nicht. Ich meld mich heute Abend / morgen nochmal dazu.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 18.08.2007, 23:58  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo GSJLink,

den Workaround habe ich nun wieder gefunden. Wenn du auf einer Linux-Büchse eingeloggt bist, kannst du mit "host" die IP zu einem Host-Namen erfragen. Das sieht ungefähr so aus:

Code:
[christian@cstest2 ~]$ host -W 1 heise.de
heise.de has address 193.99.144.80
[christian@cstest2 ~]$ host -W 1 blubber-blah.org
Host blubber-blah.org not found: 3(NXDOMAIN)
In PHP kannst du das so verarbeiten:

PHP-Code:
<?php
   $hostname 
'heise.de'
   
$hostout shell_exec('host -W 1 '.$hostname);
   
   if((
$posaddr strpos('adress',$hostout)) === true){
      
$ipaddr trim(substr($hostout,$posaddr strlen('adress') + 1,16));
   }
   else{
      
$ipaddr = (string)'unknown';
   }
?>
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 19.08.2007, 09:36  
Erfahrener Benutzer
 
Registriert seit: 27.08.2003
Beiträge: 449
PHP-Kenntnisse:
Fortgeschritten
GSJLink
Standard

Ok, dann will ich doch mal schauen ob das funktioniert! Danke

mfg
Link
__________________
"Ein Script ist nur dann gut, wenn es unabhängig von der verwendeten Plattform funktioniert"
GSJLink ist offline   Mit Zitat antworten
Alt 19.08.2007, 10:05  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Zitat:
if(($posaddr = strpos('adress',$hostout)) === true){
den if-else Block kann man sich bei der Abfrage aber auch sparen
Zergling-new ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
Sessions Problem StephenKing PHP Tipps 2008 3 16.10.2007 08:30
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
[Erledigt] Problem bei Massenmails versenden mit der Funktion mail PHP-Fortgeschrittene 3 19.01.2005 13:36
[Erledigt] Problem mit Übergabe einer Klasse in PHP4 PHP-Fortgeschrittene 10 08.01.2005 21:00
Problem mit Weiterleitung PHP Tipps 2004-2 16 22.12.2004 17:49
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
[Erledigt] PHP Upload (Master Value/Local Value Problem) PHP-Fortgeschrittene 5 23.11.2004 07:21
problem bei for-schleife und gethostbyaddr PHP Tipps 2004 7 30.10.2004 13:00
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34
[Erledigt] Problem mit Timestamp! PHP Tipps 2004 24 08.06.2004 19:51
Login Problem PHP Tipps 2004 4 04.06.2004 18:46
foreach problem mAy^daY PHP Tipps 2004 3 02.06.2004 20:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php gethostbyaddr, php gethostbyaddr timeout, gethostbyaddr php, php gethostbyname timeout, gethostbyaddr, gethostbyaddr problem, gethostbyaddr timeout, gethostbyaddr funktioniert nicht, php gethostbyaddr funktioniert nicht, gethostbyname timeout php, gethostbyaddr not working, gethostbyaddr geht nicht, php gethostbyname, fehler 3533: gethostbyaddr, gethostbyaddr php timeout, gethostbyaddr fehler, php gethostbyaddr problem, php gethostbyaddr(), gethostbyaddr timeout php, php gethostbyaddr not working

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:29 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.