当我尝试运行以下脚本时
$host = "ip here";
exec("/bin/ping -c2 -w2 $host", $outcome, $status);
return print_r($outcome);
我看到以下结果
Array () 1
关于为什么会发生这种情况的任何想法?我尝试ping
代替/bin/ping
无效
更新
直接从SSH运行时,我会看到正确的响应,因此:
PING ip here 56(84) bytes of data.
64 bytes from ip here : icmp_seq=1 ttl=243 time=4.47 ms
64 bytes from ip here : icmp_seq=2 ttl=243 time=4.40 ms
--- ip here ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1005ms
rtt min/avg/max/mdev = 4.406/4.438/4.470/0.032 ms
答案 0 :(得分:2)
尝试通过附加“2>& 1”将std_err重定向到std_out,看看它是否有任何帮助。
exec("/bin/ping -c2 -w2 $host 2>&1", $outcome, $status);
根据您的配置,安全模式可能只允许您在某些目录中执行,或者根本不执行。