$oid1 = 'SNMPv2-MIB::sysContact.0'; $oldvalue1 = $session->get($oid1); $newvalue1 = $oldvalue1 . '0'; $z = $session->set($oid1, 's', $newvalue1); var_dump($z); var_dump($session->get($oid1) === $newvalue1); $z = $session->set($oid1, 's', $oldvalue1); var_dump($z); var_dump($session->get($oid1) === $oldvalue1); var_dump($session->close()); echo "Multiple OID with max_oids = 1\n"; $oid2 = 'SNMPv2-MIB::sysLocation.0'; $session = new SNMP(SNMP::VERSION_3, $hostname, $rwuser, $timeout, $retries); $session->setSecurity('authPriv', 'MD5', $auth_pass, 'AES', $priv_pass); $session->max_oids = 1; $oldvalue2 = $session->get($oid2); $newvalue2 = $oldvalue2 . '0'; $z = $session->set(array($oid1, $oid2), array('s', 's'), array($newvalue1, $newvalue2)); var_dump($z); var_dump($session->get($oid1) === $newvalue1); var_dump($session->get($oid2) === $newvalue2); $z = $session->set(array($oid1, $oid2), array('s', 's'), array($oldvalue1, $oldvalue2)); var_dump($z); var_dump($session->get($oid1) === $oldvalue1); var_dump($session->get($oid2) === $oldvalue2); var_dump($session->close()); echo "SNMPv3, setting contextEngineID (authPriv)\n"; $session = new SNMP(SNMP::VERSION_3, $hostname, $rwuser, $timeout, $retries); $session->setSecurity('authPriv', 'MD5', $auth_pass, 'AES', $priv_pass, '', 'aeeeff'); var_dump($session->get('.1.3.6.1.2.1.1.1.0')); var_dump($session->close());
} catch (SNMPException $e) { var_dump($e->getCode()); var_dump($e->getMessage()); } $session->exceptions_enabled = SNMP::ERRNO_ANY; try { var_dump($session->get('.1.3.6.1.2.1.1.1..0')); } catch (SNMPException $e) { var_dump($e->getCode()); var_dump($e->getMessage()); } var_dump($session->close()); echo "Open normal session\n"; $session = new SNMP(SNMP::VERSION_3, $hostname, $user_noauth, $timeout, $retries); $session->valueretrieval = 67; var_dump($session->valueretrieval); echo "Closing session\n"; var_dump($session->close('')); var_dump($session->close()); var_dump($session->get('.1.3.6.1.2.1.1.1.0')); var_dump($session->close()); $session = new SNMP(SNMP::VERSION_2c, $hostname, $community, $timeout, $retries); var_dump($session->walk('.1.3.6.1.2.1.1', FALSE, '')); var_dump($session->walk('.1.3.6.1.2.1.1', FALSE, 30, '')); var_dump($session->get()); var_dump($session->getnext()); var_dump($session->set()); var_dump($session->max_oids); $session->max_oids = "ttt"; $session->max_oids = 0; var_dump($session->max_oids);
/** * Executes PHP 5.4 SNMP set interface * * @param string $ip * @param string $community * @param array $data * @return string */ protected function snmpSetClass($ip, $community, $data) { $result = ''; if (!empty($data)) { if (is_array($data)) { foreach ($data as $io => $each) { if (isset($each['oid']) and (isset($each['type']) and isset($each['value']))) { $session = new SNMP(SNMP::VERSION_2c, $ip, $community, $this->timeoutNative, $this->retriesNative); @($pushResult = $session->set($each['oid'], $each['type'], $each['value'])); $session->close(); if ($pushResult) { $result .= trim($this->snmpWalkClass($ip, $community, $each['oid'], false)) . "\n"; } } else { throw new Exception(self::EX_WRONG_DATA); } } } else { throw new Exception(self::EX_WRONG_DATA); } } return $result; }