PHP snmpset错误

时间:2014-11-25 10:51:54

标签: php snmp

所以我试图在php中打开denkovi SNMP以太网控制器的数字输出。根据php手册,这应该可行,但它没有。如果有人可以帮助我,那么这里是我的代码:

<?php
  if( $_GET["host"] && $_GET["port"] && $_GET["com"] && $_GET["oid"] && $_GET["status"])
  {
     $host =  $_GET['host'];  //localhost
     $ip = gethostbyname($host);
     $port =  $_GET['port']; //10161
     $community = $_GET['com']; //private
     $relenr =  $_GET['oid']; // 10
     $status =  $_GET['status']; // 1 (turn it on)   
     $adress = $ip.":".$port;
     $OID = ".1.3.6.1.4.1.19865.1.2.1.{$relenr}.0";
     if(snmpset($adress, $community, $OID, 'i', intval($status))== true)
     {
     echo "\n succes!";
     }
     else
     {
     echo "\n error!!";
     }

  }
?>

1 个答案:

答案 0 :(得分:0)

试试这个,它为我工作:

$host = "x.x.x.x:y" ;
$community = "private" ;
$oid = ".1.3.6.1.4.1.19865.1.2.2.1.0" ;
$type = "i" ;
$value = 1 ;
if(snmpset($host, $community, $oid , $type , $value)){
    echo "ok";
}
else{
    echo "error";
}

你也可以尝试使用exec函数:

exec('snmpset -v1 -cprivate x.x.x.x:y .1.3.6.1.4.1.19865.1.2.2.1.0 i 1',$output,$exitCode);
print_r($output);//print the result
echo $exitCode;//check if the snmpset return 0 == ok