Я сделал простой snmprealwalk для машины и вернул ему имя производителя, все это хорошо и игры на окнах, но когда дело доходит до linux (lamp-server ^ installed), здесь это просто возвращает и пуст массив:
<?php
// error return
//error_reporting(0);ini_set('display_errors', 0);
$snmp = snmprealwalk("10.4.243.62","public", "iso.3.6.1.4.1.253.8.53.13.2.1.6.1.20.34");
foreach ($snmp as $key => $value) {
echo $key . " " . $value . "<br/>";
}
?>
Я попытался var_dump массив $ snmp на сервере linux, и я получаю пустой массив
array(0) { }
Мои вопросы, почему это происходит, как я могу это исправить?
После нескольких часов мозгового кровообращения я наконец нашел виновника: PHP 5.3
При выборе стека лампы НЕ ИСПОЛЬЗУЙТЕ пакет lamp-server ^ ! (apt-get install lamp-server ^). Это, по-видимому, установит устаревшую версию php, которая требует php5-snmp.
Используйте это вместо этого:
sudo apt-get update
sudo apt-get install apache2 mysql-server php5 php5-mysql
теперь snmprealwalk ($ ip, $ community, $ oid); возвращает массив, даже когда вводится конкретная информация!