2015-01-09 4 views
0

Я сделал простой snmprealwalk для машины и возвратил его имя производителя, все хорошо и игры на окнах, но когда дело доходит до linux (lamp-server^installed), здесь это просто возвращается и пустой массив:snmprealwalk() возвращающий пустой массив

<?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) { } 

Мои вопросы, почему это происходит, как можно я чиню это?

+0

Если вы не указали идентификатор объекта, вы должны вернуть все объекты, а затем вы должны подтвердить, существует ли это или нет. Тем не менее, у меня недостаточно опыта SNMP, чтобы помочь вам в дальнейшем. – h2ooooooo

+0

То, что вы говорите, верно, "" возвращает все значения и соответствующие значения, но это отстой, что я не могу вернуть конкретную информацию с помощью этой функции :(она работает безупречно на окнах * вздох *, я устал от тратя время на то, чтобы сделать работу linux для какой бы то ни было цели ... – brunobliss

+0

Можете ли вы определить, является ли идентификатор объекта правильным, когда вы выберете все из них? Есть ли значение для iso.3.6.1.4.1.253.8.53.13.2.1.6. 1.20.34'? – h2ooooooo

ответ

1

После нескольких часов braincrunching я, наконец, нашел виновник: PHP 5.3

При выборе для установки стеки лампы НЕ ИСПОЛЬЗОВАТЬ в^ пакета лампы-сервере! (apt-get install lamp-server ^). Это, по-видимому, установит устаревшую версию php, которая требует php5-snmp.

Используйте вместо этого:

sudo apt-get update 

sudo apt-get install apache2 mysql-server php5 php5-mysql 

Теперь snmprealwalk ($ ф, $ сообщество, $ подъязычная); возвращает массив, даже когда вводится конкретная информация!

+1

Я рад, что вы рис выучил его и спасибо за обновление вашего сообщения! – h2ooooooo

Смежные вопросы