PHP: Why isn't exec() returning output? -


i'm writing php script used check network connections linux shell command ping calling php's exec():

<?php   // bad ip domain 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; ?> 

i'm not getting output error message ping in $output i'm expecting:

$ php try.php ping: unknown host lksjdflksjdf.com int(2) return_var is: 2 array(0) { } 

if domain domain, such yahoo.com, $output has output ping in array. if it's error such 'ping: unknown host lksjdflksjdf.com' doesn't returned $output array.

why happening , there better method this?

you should redirect stderr stdout.

to that, change exec() call this:

exec("ping -c 1 $domain_bad 2>&1", $output, $return_var); 

more info 2>&1 meaning here.


Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -