Я использую функцию snmp2_real_walk
.
$tmp = snmp2_real_walk($ip, '***'.$vlan, $title, 100000,10);
Когда oid правильная и устройство работает, я получаю желаемый результат. Но я хочу обрабатывать предупреждения: Invalid object identifier...
или No response from 192.168.19.249...
или что-то еще. Моя проблема: как я могу либо перенаправить эти предупреждения в свою переменную?
или есть какая-то другая функция, которая показывает эти предупреждения?
Благодаря!
Вы также можете взглянуть на set_error_handler, чтобы установить собственный обработчик ошибок для этого конкретного случая, а затем восстановить обработчик ошибок после выполнения вызова функции.
использование error_get_last()
было решением 🙂
Взгляните на функцию set_error_handler PHP. snmp2_real_walk генерирует сообщения E_WARNING, когда он обнаруживает ошибку, set_error_handler позволяет вам их записывать и записывать и т. д.
Вы хотите использовать блок try-catch, чтобы поймать ваше исключение, вот пример из документации PHP, скорректированной на вашу функцию:
<?php try { $tmp = snmp2_real_walk($ip, '***'.$vlan, $title, 100000,10); } catch (Exception $e) { echo 'Caught exception: ', $e->getMessage(), "\n"; } echo $tmp; ?>
Страница руководства PHP: http://php.net/manual/en/language.exceptions.php