Вищезгадані значення (цифрові або символьні) використовуються для побудови бітової маски, яка специфікує виведене повідомлення про помилку. Ви можете використовувати бітові операції для маскування певних типів помилок. Зверніть увагу, що тільки '|', '
','! ' і '' будуть зрозумілі в php.ini і що ніякі бітові операції НЕ будуть зрозумілі в php3.ini.
У PHP 4 значенням за замовчуванням для error_reporting буде E_ALL
E_NOTICE. що означає відображення всіх помилок і попереджень, які не мають рівень E_NOTICE-level. У PHP 3 значення за замовчуванням (E_ERROR | E_WARNING | E_PARSE) означає те ж саме. Зауважте, однак, що, оскільки константи не підтримуються в PHP 3 в файлі php3.ini. установка error_reporting повинна виконуватися цифрами; тобто 7 за замовчуванням.
Початкове значення може бути змінено в ini-файлі директивою error_reporting. в вашому Apache httpd.conf-файл директивою php_error_reporting (php3_error_reporting для PHP 3) і, нарешті, воно може бути встановлено на етапі прогону скрипта функцією error_reporting ().
При оновленні коду або серверів з PHP 3 до PHP 4 ви повинні перевірити ці установки і виклики error_reporting (), або можете відключити виведення повідомлень про нові типи помилок, особливо про E_COMPILE_ERROR. Це може привести до появи порожніх документів без будь-якого повідомлення про причини і місце виникнення проблеми.
Всі вирази РНР можуть також викликатися з префіксом "@", який відключає повідомлення про помилки для даного конкретного вираження. Якщо помилка виникає в ході обчислення такого виразу і track_errors включена, ви можете знайти повідомлення про помилку в глобальній змінній $ php_errormsg.
Примітка: Префікс @ error-control-операції не відключати висновок повідомлень, які є результатом помилок розбору.
В даний час префікс @ error-control-операції відключає навіть Повідомлення про критичну помилку, які переривають виконання скрипта. Крім іншого, це означає, що, якщо ви використовуєте @ для придушення помилок з певної функції і вона не тяжка вона або неправильно написана, скрипт накриється без вказівки причини.
Приклад 15-1. Обробка помилок в скриптах