Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[PHP]Ping ausführen auf IP

Empfohlene Antworten

Veröffentlicht

Hallo, gibt es einen Befehl, mitdem man einfach einen Ping ausführen kann auf eine beliebige IP, die in der variable $ip steht ausführen und der dann nen rückgabewert gibt, ob erfolgreich oder fehlerhaft ?

<?

if (!ping($ip))

{

echo("Server down");

}

?>

^sowas in der Art, gibt es sowas und wie geht das ?

Brauch dringend Hilfe, THX !

Gruß ranger81


<?

$ip = "www.lin.ux";

$online=exec("ping $ip -c 1");

// $online=exec("ping $ip -n 1"); // für WINDOZ

if (eregi("unbekannter host", $online) || eregi("unknown host", $online)) {

print "ping nach $ip funzt nit<br>\n";

} else {

print "ping nach $ip funzt<br>\n";

}

?>
[/PHP]

Hallo, keine ahnung ob linux oder windows, aber hab jetz mal das script hier genommen und seht selbst... er gibt einfach nix aus:

<?

$ip = "www.irgend.einen.*******.de";

$online=exec("ping $ip -c 1");

// $online=exec("ping $ip -n 1"); // für WINDOZ

print "Die Variable Online enthaelt: $online<br><br>";

if (eregi("unbekannter host", $online) || eregi("unknown host", $online)) {

print "ping nach $ip funzt nit<br>\n";

} else {

print "ping nach $ip funzt<br>\n";

}

?>

und er sagt immer, dass der ping funzt, obwohl es die adresse nicht gibt...

http://mitglied.lycos.de/ranger81/test2.php

du solltest aber schon wissen, ob du Linux oder Windows benutzt auf deinem Rechner ??

nich auf meinem, das kommt im geschäft auf nen rechner und der ist wahrscheinlich linux


if (eregi("unbekannter host", $online) || eregi("unknown host", $online)) {
[/php]

Das hier scheint das Problem zu sein .

Die eregi Funktion müsste eigentlich nach einem anderen String suchen.

Teste es gerade bei mir lokal - welche genau passt.

MfG Tool-Time :)

das prob ist scheon weiter oben, der speichert gar nix der variable $online !

ich muss jetz leider weg, komme so gegen 17:30 uhr wieder,

danke schonmal !

exec("/full/path/to/ping -n 10", $output, $error);

so sollte es jetzt aber laufen

ich hatte die params von exec vergessen

@blast

Wie Ranger81 schon sagte wird leider die in der Variable $online nicht die Ausgaben/ Antwort von exec gespeichert.

Es geht unter Windows auch ohne die Pfadangabe :

So gibt z.B.


$status = passthru("ping $ip"); # win
[/php]

wird die gesamte Antwort vom Ping zurückgeben (bei exec nur die letzte Zeile PHP-Manual).

Dabei wird ersichtlich das der Ping durchgeführt wurde.

MfG Tool-Time :)

hmm er scheint die funktion nicht zu kennen:

Fatal error: Call to undefined function: passthru() in /usr/local/httpd/htdocs/kunden/web249/html/test2.php on line 12

http://ranger81.no-ip.org/test2.php

Versuch es bitte einmal so :


<?php
for($i=1; $i<6; $i++)
{
$ip = "10.24.8.$i";
# Linux
#
# $online=exec("ping $ip -c 1");

# Windows
#
# echo"$ip<p>";
# $status = exec("/winnt/system32/ping.exe/ping $ip -n 10", $output, $error);
passthru("ping $ip",$status);

# sleep(5);

if(eregi("100% Verlust", $status)) echo"<p>$ip => bad<p>";
else echo"<p>$ip => ok <p>";
}
echo"Status : $status <p>";

?>
[/php]

Leider geht die Abfrage noch nicht :(

Aber ich arbeite dran .

MfG Tool-Time :StefanE

also auf meinem "localhost" unter linux fäuft das script. naja es wird ja auch hier im geschäft laufen, also klappt es jetz. die webspace anbieter unterbinden wahrscheinlich alle "system"-funktionen denk ich mal. Danke euch allen für die super hilfe ! :D

@palvoelgyi

in dem man unter Linux zumindest Zugrifsrechte auf die Ping-Datei ändert

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.