"We are back" « oc.at

mit php den status eines servers checken

pate 19.04.2005 - 09:31 3329 10
Posts

pate

trenbolon rockt
Avatar
Registered: Jun 2002
Location: hinter de 7 berg
Posts: 1374
Hi,
Ich brauche ein php script das prüft ob ein server auf port (zb) 21 verfügbar ist (sprich, ob der ftp server online ist) und mir das dann per echo ausgibt.
bis jetzt hab ich folgenden code:

Code: PHP
<? 
//Basisdaten zur FTP Verbindung
$ftp_server = "ftp.server.com";
$ftp_user_name = "user";
$ftp_user_pass = "pass";

// Herstellen der Basis-Verbindung
$conn_id = ftp_connect("$ftp_server");

// Einloggen mit Benutzername und Kennwort
$login_result = ftp_login($conn_id, "$ftp_user_name", "$ftp_user_pass");

// Verbindung überprüfen
if ((!$conn_id) || (!$login_result)) {

echo "FTP Server: Offline";
die;
}
else {
echo "FTP Server: Online";
}

 // Schließen des FTP-Streams

ftp_quit($conn_id);
echo "Status : Verbindung zum FTP Server wurde geschlossen";
?>

soweit, sogut, jedoch bekomm ich erstens immer die meldung das der server off ist, und im log des servers steht immer: "connect to xx.xx.xx.xx" und in der selben sekunde steht "closing connection"

ich müsste dieses script zum laufen bringen, und dann das selbe für port 80 machen (so das er mir ausgibt HTTP Server ON/OFF)

danke vielmals

edit:
das mit dem ftp hab ich gelöst, hab vergessen das ich dem script mitteilen muss das es um eine secure connection geht :)
was ich jetzt noch brauche is das ganze mit einem http server
Bearbeitet von pate am 19.04.2005, 09:35

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25539
mit http://at.php.net/manual/en/ref.sockets.php kannst du mit jeglichen sockets verbindung aufnehmen.

pate

trenbolon rockt
Avatar
Registered: Jun 2002
Location: hinter de 7 berg
Posts: 1374
danke, funzt wunderbar,
eine frage hätt ich noch:
ist es irgendwie möglich in einer html datei (muss eine html datei sein) den online offline status auszugeben,
habe eine fertige html seite, darin kommt der test "Server ist: " vor, jetzt bräuchte ich irgendwas um das "Offline" oder "Online" nach dem test durch das script hinzuzufügen

danke daweil

moidaschl

Vollzeit-Hackler
Avatar
Registered: Aug 2002
Location: 1210, ABK-D/L
Posts: 4029
Zitat von pate
danke, funzt wunderbar,
eine frage hätt ich noch:
ist es irgendwie möglich in einer html datei (muss eine html datei sein) den online offline status auszugeben,
habe eine fertige html seite, darin kommt der test "Server ist: " vor, jetzt bräuchte ich irgendwas um das "Offline" oder "Online" nach dem test durch das script hinzuzufügen

danke daweil

naja du könntest es per formular übergeben und dann per javascript oder cgi auslesen (bei cgi brauchst aber wieder zusätzliche sachen)

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25539
warum muss es eingefügt werden? warum ist die htmldatei nicht gleich der test? hat das cachinggründe?

pate

trenbolon rockt
Avatar
Registered: Jun 2002
Location: hinter de 7 berg
Posts: 1374
thx @ moidaschl

mat:
das ist kompliziert, es handelt sich um eine .htx datei, die die index seite des servers darstellt, in ihr ist html code, der test ob der ftp online ist wird in der datei onlinecheck.php durchgeführt, die im selben verzeichnis wie die index.htx liegt, die php datei einzeln aufgerufen gibt das ergebnis richtig aus, nur bräuchte ich eben das ausgegebene ergebnis an einer bestimmten stelle in der .htx datei

zur erläuterung:
es handelt sich um die software badblue home server, die läuft unter windows, die software lässt mich nicht den namen der index seite ändern, sonst hätte ich einfach alles in .php dateien geschrieben und hätte das problem nicht.

pm me, wenn du genauere infos willst

tia
Bearbeitet von watchout am 19.04.2005, 11:04

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Code: PHP
<?php include('onlinecheck.php'); ?>

hf

edit: flasch verstanden:
php.ini -> .htx Endungen eintragen -> fertig
Bearbeitet von watchout am 19.04.2005, 10:58

moidaschl

Vollzeit-Hackler
Avatar
Registered: Aug 2002
Location: 1210, ABK-D/L
Posts: 4029
Zitat von watchout
Code: PHP
<?php include('onlinecheck.php'); ?>

hf

edit: flasch verstanden:
php.ini -> .htx Endungen eintragen -> fertig

ähm i glaub bei dieser software wirds sowas ned geben (oder?)

Marius

OC Addicted
Avatar
Registered: May 2002
Location: Austria
Posts: 3375
kannst das fertige "funktionierende" script nochmal posten? ;)

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25539
mhm, wenn die online/offline anzeige per image im htm dargestellt wird könnte man per <img src="test.php?serverid=123" /> testen.

für jeglichen inhalt könnt ich mir nur iframe vorstellen ;)

pate

trenbolon rockt
Avatar
Registered: Jun 2002
Location: hinter de 7 berg
Posts: 1374
@ moidaschl
stimmt, aber es gibt eine ext.ini, in der man das auch festlegen kann, was mein problem nicht löst, da dort zwar eingetragen ist, das die .php sowie php3 php4 php5 durch die php.exe geparsed werden, aber die .htx werden anscheinend woanders schon geparsed, da sich nichts tut wenn ich .htx als extension hinzufüge.

@marius:
das script gibt, als .php aufgerufen, entweder "online" oder "offline" je nach status aus:

Code: PHP
<? 
//Basisdaten zur FTP Verbindung
$ftp_server = "xx.xx.xx.xx";
$ftp_user_name = "xxxx";
$ftp_user_pass = "xxxx";

// Herstellen der Basis-Verbindung
$conn_id = ftp_connect("$ftp_server");

// Einloggen mit Benutzername und Kennwort
$login_result = ftp_login($conn_id, "$ftp_user_name", "$ftp_user_pass");

// Verbindung überprüfen
if ((!$conn_id) || (!$login_result)) {

echo "Offline";
die;
}
else {
echo "Online";
}

 // Schließen des FTP-Streams

ftp_quit($conn_id);

?>

edit:

habs jetzt in die ext.ini eingetragen, da ändert sich nichts.
in die php.ini hab ichs so eingetragen:
AddType application/x-httpd-php .htx
bringt auch nix...

eine .htaccess gibts bei dieser software nicht
Bearbeitet von pate am 19.04.2005, 12:09
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz