net snmp — snmpwalk / snmprealwalk дают совершенно другую информацию PHP 7.2.5

Мы обновили машину с PHP 5 до PHP 7.2.5 и заметили, что одна из функций, которые мы используем постоянно, на самом деле больше не работает. Обратите внимание на вывод, что snmprealwalk помещает только один из объектов в массив. Где как snmpwalk (как в Linux & PHP) правильно извлекает оба объекта.

Это вывод net-snmp:

[meh@nessie html]# snmpwalk -v1 -c public@732 192.168.1.2 .1.3.6.1.2.1.17.4.3.1.2
BRIDGE-MIB::dot1dTpFdbPort.'......' = INTEGER: 800
BRIDGE-MIB::dot1dTpFdbPort.'......' = INTEGER: 1793

Это скрипт PHP:

<?php
$vlannum = 732;
$switch = "192.168.1.2";
$physifary = snmprealwalk($switch, "public@$vlannum", ".1.3.6.1.2.1.17.4.3.1.2");
$physifaryz = snmpwalk($switch, "public@$vlannum", ".1.3.6.1.2.1.17.4.3.1.2");
var_dump($physifary);
var_dump($physifaryz);

выход

array(1) {
["BRIDGE-MIB::dot1dTpFdbPort.'......'"]=>
string(13) "INTEGER: 1793"}

array(2) {
[0]=>
string(12) "INTEGER: 800"[1]=>
string(13) "INTEGER: 1793"}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]