Ich bin ein PHP-Skript zu schreiben verwendet werden für Netzwerkverbindungen mit Linux-Shell-Befehl zu überprüfen ping
es mit PHP exec()
Aufruf:PHP: Warum gibt exec() keine Ausgabe zurück?
<?php
// Bad IP domain for testing.
$domain_bad = "lksjdflksjdf.com";
$ip_address = $domain_bad;
exec("ping -c 1 $domain_bad", $output, $return_var);
var_dump($return_var);
echo "return_var is: $return_var" . "\n";
var_dump($output);
exit;
?>
Ich bin nicht die Ausgabe für die Fehlermeldung von Ping immer in $output
das ist, was ich erwarte:
$ php try.php
ping: unknown host lksjdflksjdf.com
int(2)
return_var is: 2
array(0) {
}
Wenn die Domäne eine gute Domain, wie yahoo.com, dann $output
die Ausgabe von Ping in einem Array hat. Aber wenn es ein Fehler wie 'ping: unknown host lksjdflksjdf.com'
ist, wird es nicht an das Array $output
zurückgegeben.
Warum passiert das und gibt es eine bessere Methode, dies zu tun?
Das war's! Das habe ich übersehen. Es hat funktioniert, danke !!! – Edward
Sobald es mich lassen wird! :-) – Edward
add 2> & 1 aber Ausgabe ist noch Array leer, wenn von cmd ausgeführt wird, gibt es 2 Werte aus –