Делаю SNMP опросчик оборудования Все что надо работает, но есть проблема если попадается коммутатор с кривой прошивкой скрипт зависает , точнее фукция snmprealwalk уходит в цикл (опрашивал комутатор стороней программой, таже шняга, комутатор клинит и он отвечает одной и тойже строкой ) Как ограницить время выполнения не всего скрипта а именно этой функции PHP: #!/usr/local/bin/php <?php snmp_set_oid_numeric_print(1); snmp_set_quick_print(TRUE); snmp_set_enum_print(TRUE); snmp_set_valueretrieval(SNMP_VALUE_PLAIN); $array_ipswich[]="192.168.10.1"; $array_ipswich[]="192.168.10.2"; $array_ipswich[]="192.168.10.3"; ... foreach($array_ipswich as $id_equipment=>$ipswich){ if ($descrip = snmpgetnext($ipswich, pass, ".1.3.6.1.2.1.1.1")) { echo "$descrip\n"; $arrmacport = snmprealwalk($ipswich, pass, ".1.3.6.1.2.1.17.1.4.1.2") // [b]- здесь скрипт встает[/b] { ... } } } ?>
перед началом выполнения кода берем время...в функции проверяем разницу по времени...если дофига, break или die
Alost я немогу дождаться конца выполнения функции snmprealwalk - такчто то я несмогу проверить время выполнения - это видимо както в другом процесе должно быть реализованно avm 4 и 5 не катят - 4 время ожидания ответа (вот какраз оборудование мне отвечает - но ответ безконечный), а 5 это я так понял число попыток