предупреждение о переадресации php - PullRequest
2 голосов
/ 18 июля 2011

Я использую функцию snmp2_real_walk.

$tmp = snmp2_real_walk($ip, '***'.$vlan, $title, 100000,10);

Когда oid правильный и устройство работает, я получаю желаемый вывод.Но я хочу обработать предупреждения: Invalid object identifier... или No response from 192.168.19.249... или что-то еще.Моя проблема: как я могу перенаправить эти предупреждения в мою переменную?

или есть какая-то другая функция, которая показывает эти предупреждения?

Спасибо!

Ответы [ 4 ]

1 голос
/ 18 июля 2011

Посмотрите на функцию PHP set_error_handler . snmp2_real_walk генерирует сообщения E_WARNING при обнаружении ошибки, set_error_handler позволит вам перехватить их и записать в журнал и т. д.

1 голос
/ 18 июля 2011

Вы также можете взглянуть на set_error_handler , чтобы установить собственный обработчик ошибок для этого конкретного случая, а затем восстановить обработчик ошибок после выполнения вызова функции.

1 голос
/ 18 июля 2011

с использованием error_get_last() было решением:)

0 голосов
/ 18 июля 2011

Вы хотите использовать блок 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

...