Anpingen einer IP-Adresse mit PHP und Anzeigen des Ergebnisses
Beim Versuch, eine IP-Adresse anzupingen und das Ergebnis anzuzeigen, ist ein Problem aufgetreten mit PHP. Lassen Sie uns den Code analysieren und eine bessere Alternative bereitstellen.
Die von Ihnen bereitgestellte Funktion pingAddress weist einen kleinen Fehler auf: Die Variable $ip ist in einfache Anführungszeichen gesetzt, die PHP daran hindern, sie als Variable zu interpretieren. Um dies zu beheben, sollten Sie doppelte Anführungszeichen verwenden:
shell_exec("start /b ping \"$ip\" -n 1");
Aber selbst mit diesem Fix schlägt der Code immer noch fehl, da er versucht, den Status anhand der Ausgabezeichenfolge zu ermitteln. Ein zuverlässigerer Ansatz besteht darin, den Exit-Status des Ping-Befehls zu überprüfen, da dieser anzeigt, ob der Vorgang erfolgreich war oder fehlgeschlagen ist.
Hier ist eine verbesserte Version des Codes:
function pingAddress($ip) { $pingResult = exec("/bin/ping -n 3 $ip", $output, $status); if ($status == 0) { echo "The IP address, $ip, is alive"; } else { echo "The IP address, $ip, is dead"; } } pingAddress("127.0.0.1");
Dieser Code verwendet die Funktion exec() mit dem Befehl /bin/ping, um die angegebene IP-Adresse anzupingen. Es prüft den Exit-Status des Ping-Befehls, der 0 für Erfolg und ungleich Null für Fehler ist. Basierend auf dem Exit-Status wird die entsprechende Meldung angezeigt.
Dieser Ansatz ist zuverlässiger und konsistenter und stellt sicher, dass das Ergebnis den tatsächlichen Ping-Status genau widerspiegelt.
Das obige ist der detaillierte Inhalt vonWie kann ich eine IP-Adresse zuverlässig anpingen und das Ergebnis in PHP anzeigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!