В этой главе описываются настройки PHP. Вы можете сделать их, задав значения директив настройки или выполнив определенные функции директивы настройки в файле настроек PHP php.ini, в файле настроек Apache .htaccess или с помощью функции set_ini. Основные настройки PHP см. в главе 1, "Введение в программирование в PHP".
15.1. Директивы настройки
Директивы настройки изменяют поведение PHP. Он отыскивает эти директивы в файле php.ini в следующем порядке: в текущем каталоге, по пути, заданному переменной PHPRC, или по стандартному пути, заданному на этапе компиляции PHP. В Unix это путь /usr/local/lib, в Windows - это главный системный каталог, которым обычно является каталог C:WINDOWS или C:WINNT. Типичная установка использует один файл php.ini, хранящийся в последнем каталоге.
При работе с Web-сервером Apache существует возможность перекрыть установки конфигурационного файла php.ini установками, заданными в файлах .htaccess и httpd.conf. Чтобы задать директиву PHP, можно воспользоваться четырьмя командами Apache, написав команду Web-сервера Apache с последующим именем директивы PHP и заданным значением. Для разделения всех трех частей используются пробелы. Для директив PHP, которые могут иметь только два значения, on и off, можно использовать php_admin_flag или php_flag. С директивами PHP, которые могут иметь произвольное значение, можно использовать значения php_admin_value и php_value. Последние две команды задаются только в файле httpd.conf и не могут быть заданы в файле .htaccess.
Функция set_ini позволяет заменить большинство директив из работающего сценария, но так как эта функция выполняется после инициализации PHP, то в контексте выполнения сценария некоторые директивы не имеют никакого смысла. Описание функции set_ini приводится в этой главе позднее.
В табл. 15.1 описываются директивы настройки, имеющиеся в типичной инсталляции PHP. При этом следует учитывать, что расширения могут добавлять свои директивы, поэтому этот список в точности может не совпадать. Нераспознаваемая PHP директива не приводит к ошибке - она просто будет игнорироваться. 
В конфигурационном файле php.ini можно установить любые директивы. Указание некоторых из них при выполнении с помощью функции ini_set не будет иметь никакого действия.
Настройка
Настройка
Настройка
Настройка
Настройка
Настройка
Настройка
Настройка
allow_call_time_pass_reference
Исторически сложилось так, что PHP поддерживал передачу ссылок на функции, добавляя символ амперсанта (&). Это поведение было отменено в пользу использования амперсантов в определениях функций. Если эта директива включена, PHP выдает предупреждение в вызове функции, а если отключена, PHP выдает сообщение об ошибке.
allow_url_fopen
Эта директива активизирует использование URL в вызовах функции fopen и подобных ей.
allow_webdav_methods
Эта директива приводит к обработке запросов процессов WebDAV. Если необходимо обработать содержимое запроса, убедитесь в том, что активизирована директива always_populate_raw_post_data.
always_populate_raw_post_data
PHP устанавливает глобальную переменную HTTP_RAW_POST_DATA, если эта директива включена и запрос содержит метод данных Post.
arg_separator.input
Эта директива задает символы, используемые PHP, для разделения полей в HTTP-запросе. Например, x = 1 & y = 2 использует амперсант, как в обычном вызове. PHP использует все заданные символы в качестве вероятных разделителей полей. 
arg_separator.output
При генерировании URL PHP использует значение, заданное этой директивой, для разделения значений полей.
asp_tags
Эта директива управляет использованием PHP символов <% и %> для выделения кода.
assert.active
Эта директива управляет возможностью использования функции assert. Здравый смысл предполагает, что использование этой функции имеет смысл на этапе разработки Web-узла и что она должна быть отключена в режиме его нормальной эксплуатации.
assert.bail
Управляет остановкой выполнения сценария PHP в случае неуспешной обработки утверждения.
assert.callback
Этой директивой задается имя пользовательской функции в случае неуспешной обработки утверждения.
assert.quiet_eval
Если эта директива имеет значение on, PHP отключает диагностирование ошибок перед обработкой утверждений, после чего восстанавливает сообщение об ошибках.
assert.warning
Если эта директива имеет значение on, PHP выдает предупреждение при каждой неуспешной обработке утверждений.
auto_append_file
Этой директивой задается путь к сценарию PHP, который выполняет PHP, если запрошенный сценарий не завершается ошибкой или функцией exit.
auto_detect_line_endings
Если эта директива имеет значение on, PHP автоматически определяет соответствующие завершения строк при выполнении операции чтения с помощью функции fgets или file .
auto_prepend_file
Этой директивой задается путь к сценарию PHP, который будет выполняться перед запросом сценария.
browscap
Этой директивой задается путь к файлу browscap.ini.