我正在尝试获取一个分析ping和存储信息的数据库。
现在,我遇到了接收ping的问题。我已经查看了之前提出的问题,除了我没有启用php.ini之外,我有几乎相同的答案。我不确定究竟要把它放在哪里。
这是我到目前为止的代码:
if ($_POST['Ping']){
//store the address the user gave as a variable called address
$address = $_POST["address"];
exec("ping -n 3 $address",$output,$status);
echo "<pre>";
foreach ($output as $line) echo htmlspecialchars("$line\n");
echo "</pre>";
}
我也尝试过:
$pingresult = exec("ping -n 3 $address", $outcome, $status);
echo $pingresult
这给我一个问题,说从数组转换为字符串。
答案 0 :(得分:0)
您在返回时未检查$status
的值。这样做,你可能会发现它不是零。在命令行中输入ping -n 3 192.168.0.1
可能会给您一条错误消息:connect: Invalid argument
这是你应该做的:
在调用ping之前更改代码以检查$address
是否包含有效地址
更改代码以检查exec的错误返回值。
检查为ping输入的参数是否正确。 ping -n 3 address
无法在我的系统上运行,产生错误消息和非零退出状态,但ping -c 3 address
会给我三次ping address
的尝试。