| |
но же, как это принято в
Apache, разделять имя параметра и его значение не знаком равенства, а пробелом.
Некоторые из следующих далее настроек можно переопределить в сценарии с помо-
щью специальных функций (такой, например, как Error_Reporting()), некото-
рые — нельзя. За полным списком настроечных директив PHP обращайтесь к При-
ложению 2.
Часть IV. Стандартные функции PHP 334
error_reporting
Устанавливает уровень строгости для системы контроля ошибок PHP. Значение этого
параметра должно представлять из себя целое число, которое интерпретируется как
десятичное представление двоичной битовой маски. Установленные в 1 биты задают,
насколько детальным должен быть контроль. Можно также не возиться с битами, а
использовать константы.
Таблица 24.1. Биты, управляющие контролем ошибок
Бит Константа PHP Назначение
1 E_ERROR Фатальные ошибки
2 E_WARNING Общие предупреждения
4 E_PARSE Ошибки трансляции
8 E_NOTICE Предупреждения
16 E_CORE_ERROR Глобальные предупреждения (почти не используются)
32 E_CORE_WARNING Глобальные ошибки (не используется)
Наиболее часто встречающееся сочетание — 7 (1+2+4), которое, как мы можем ви-
деть, задает полный контроль, кроме некритичных предупреждений интерпретатора
(таких, например, как обращение к неинициализированной переменной). Оно часто
задается по умолчанию при установке PHP. Я же рекомендую первым делом устанав-
ливать значение этой настройки равным 255 (соответствует битовой маске со всеми
единичками), т. е. включить абсолютно все сообщения об ошибках, или же восполь-
зоваться константой E_ALL, делающей то же самое.
magic_quotes_gpc on|off
Эта настройка указывает PHP, нужно ли ему ставить дополнительный слэш перед
всеми апострофами ', кавычками ", обратными слэшами \ и нулевыми символами
(0) при приеме данных из браузера пользователя — например, поступивших из фор-
мы. Я предпочитаю всегда отключать этот параметр, потому что от него больше
про-
блем, чем пользы. Например, следующий вроде бы верный сценарий при повторном
нажатии кнопки, если в каком-нибудь текстовом поле введена кавычка, будет ее
"размножать":
// Делаем что-нибудь, если нажата кнопка Go!
?>
Мы получаем явно не то, что требовалось: мы хотели просто, чтобы значение поля
text сохранялось неизменным между запусками сценария. Оператор @ подавляет
сообщение об ошибке для следующего за ним выражения, если она происходит (в
нашем случае — при первом запуске сценария, когда переменные $name и $email
еще не инициализированы).
max_execution_time
Директива устанавливает время (в секундах), через которое работа сценария будет
принудительно прервана. Используется она в основном для того, чтобы запретить
пользователям захватывать слишком много ресурсов центрального процессора и из-
бежать "зависания" сценария.
track_vars on|off
Этот параметр очень полезен при программировании. Если он установлен в On, все
данные, доставленные методами GET и POST, а также Cookies, будут дополнительно
помещены в глобальные массивы $HTTP_GET_VARS, $HTTP_POST_VARS и
$HTTP_COOKIE_VARS соответственно.
Существуют и другие, более специфичные, параметры, такие как настройка интер-
фейсов с базами данных, настройка почтовых возможностей и др. Обычно их уста-
новки по умолчанию удовлетворяют всех. Подробнее о них можно прочитать в При-
ложении 2 или на сайте http://www.php.net.
Контроль ошибок
В процессе работы программы в ней могут возникать ошибки. Одна из самых силь-
ных черт PHP — возможность отображения сообщений об ошибках прямо в браузере,
не генерируя пресловутую 500-ю Ошибку сервера (Internal Server Error), как это
де-
лают другие языки. В зависимости от состояния интерпретатора сообщения будут
либо выводиться в браузер, либо подавляться. Для установки режима вывода ошибок
служит функция Error_Reporting().
int Error_Reporting([int $level])
Устанавливает уровень строгости для системы контроля ошибок PHP, т. е. величину
параметра error_reporting в конфигурации PHP,
|
|