Sto scrivendo uno script PHP da utilizzare per verificare la presenza di connessioni di rete con comando della shell Linux ping
chiamata con exec()
di PHP:PHP: Perché exec() non restituisce l'output?
<?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;
?>
Non ricevo l'uscita per il messaggio di errore da ping in $output
che è quello che mi aspetto:
$ php try.php
ping: unknown host lksjdflksjdf.com
int(2)
return_var is: 2
array(0) {
}
Se il dominio è un buon dominio, ad esempio yahoo.com, quindi $output
ha l'uscita da ping in un array. Ma se si tratta di un errore come 'ping: unknown host lksjdflksjdf.com'
non viene restituito alla matrice $output
.
Perché sta succedendo questo e c'è un metodo migliore per farlo?
Questo è tutto! L'ho trascurato. Ha funzionato, grazie !!! – Edward
Appena me lo permetterà! :-) – Edward
aggiungi 2> & 1 ma l'output è ancora array vuoto, se eseguito da cmd, emette 2 valori –