我试图在数组$result中搜索字符串"目标主机无法访问",但它不起作用。
我不确定自己做错了什么,想知道是否有人能伸出援手?
$ip = 192.168.1.30
$pingresult = exec("ping -n 1 $ip", $outcome, $status);
if ($status == 0)
{
if(in_array("Destination host unreachable", $outcome))
{
echo "Unreachable";
}
else
{
echo "Alive";
}
}
附言:请注意,我在Windows机器上,所以退出状态与Linux等不同。
您也可以尝试。
if(array_search($outcome, "Destination host unreachable") !== false){
echo 'not reachable';
}
in_array
仅在完全匹配时返回true。因此,如果行上有其他字符(包括空白),它将不匹配。您可能希望使用preg_match循环遍历数组。