Отслеживание ошибок и уведомлений PHP

Иногда бывает необходимо отследить некритические ошибки, возникающие в работе РНР скрипта (E_WARNING, E_NOTICE, etc.) и куда-то их грамотно собрать. К примеру, мы хотим сделать валидацию XML файла с помощью XMLReader (кстати, об этом, думаю, можно рассказать в отдельной публикации). В случае, если XML невалидный, то выбросить исключение, прекратив дальнейшую работу. Все ошибки валидации выдаются через “WARNING”-сообщения. Для того, чтобы получить такое сообщение можно поступить следующим образом: // Track the errors (to be able to store the PHP error message) $oldConfigValue = ini_set('track_errors', '1'); while ($xmlReader->read()) {} // полностью читаем XML if (!$xmlReader->isValid()) { throw new Exception('XML does not conform to schema. ' . $php_errormsg); } // Set back track_errors setting: ini_set('track_errors', $oldConfigValue); Здесь мы сначала устанавливаем директиву РНР 'track_errors' (Отслеживать ошибки) в TRUE (1). А далее — magic! 🙂 ...

March 20, 2011 · 1 min · rodush