注意:以下解决方案在Windows上不起作用。 在linux exec上,从控制台执行“ which
ping”命令,并相应地设置(建议的exec调用的)命令路径
我认为您想检查命令的退出状态,而shell_exec为您提供完整的输出(出于某种原因,命令输出在命令版本之间更改可能会很危险)。此外,您的变量$
ip不会在单引号内解释。您必须使用双引号“”。那可能是您唯一需要修复才能使其正常工作的东西。
但是我认为以下代码可能更“便携”。恕我直言,实际上最好是捕获退出状态,而不是尝试解析结果字符串。恕我直言,最好指定ping命令的完整路径。
<?phpfunction pingAddress($ip) { $pingresult = exec("/bin/ping -n 3 $ip", $outcome, $status); if (0 == $status) { $status = "alive"; } else { $status = "dead"; } echo "The IP address, $ip, is ".$status;}pingAddress("127.0.0.1");
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)