为什么我必须为ping工具声明一个数组

时间:2013-05-04 00:39:09

标签: php

我无法理解为什么我必须为我的php代码声明一个数组$output。 我可以使用$status代替返回值0或1.

<?php
   exec ("ping -c 3  $ip",$output, $status );
   if ($status == 0)
   {
     echo "host is up";
   }
   else
   {
     echo "host is down";
   }
?>

1 个答案:

答案 0 :(得分:1)

为了传递第三个参数,你还必须传递第二个参数,所以你必须在那里放一些东西。如果您对输出不感兴趣,请执行文档中所说的内容:

  

如果您不希望该函数附加元素,请调用unset()   在将数组传递给exec()之前的数组。

但是,我自己尝试了这个,它不起作用。它总是用输出填充变量。因此,如果您对输出不感兴趣,请使用shell语法重定向它:

exec ("ping -c 3  $ip >/dev/null 2>&1",$output, $status );