Поведение функций зависит от установок в файле php.ini.
| Имя | По умолчанию | Место изменения | Список изменений |
|---|---|---|---|
| output_buffering | «0» |
INI_PERDIR |
|
| output_handler | null |
INI_PERDIR |
|
| implicit_flush | «0» |
INI_ALL |
|
| url_rewriter.tags | «form=» |
INI_ALL |
Начиная с PHP 7.1.0 эта INI-настройка влияет только на функцию output_add_rewrite_var(). До PHP 7.1.0 эта INI-настройка включала поддержку прозрачного идентификатора сеанса (смотрите описание директивы session.trans_sid_tags). функцию . |
| url_rewriter.hosts | $_SERVER['HTTP_HOST'] задано значением по умолчанию. |
INI_ALL |
Доступно с PHP 7.1.0 |
Краткое разъяснение конфигурационных директив.
output_buffering
bool/integer
Чтобы включить буферизацию вывода для всех файлов, директиве устанавливают
значение «On».
Чтобы ограничить размер буфера, вместо «On»
можно указать число, которое будет соответствовать
количеству байтов, ограничивающих размер буфера.
Например — output_buffering=4096.
output_handler
string
Разрешено перенаправлять вывод скриптов в функцию.
Например, если установить функцию mb_output_handler()
в качестве значения директивы output_handler,
кодировка символов будет прозрачно преобразовываться в заданную кодировку.
Установка любого обработчика вывода автоматически включает буферизацию вывода.
Замечание:
Нельзя использовать вместе функции mb_output_handler() и ob_iconv_handler(), а функцию ob_gzhandler() и директиву zlib.output_compression нельзя использовать ни с одним из следующих: с функцией mb_output_handler(), с функцией ob_gzhandler(), с директивой zlib.output_compression, с обработчиком «URL-Rewriter» (смотрите описание директивы session.use_trans_sid и функции output_add_rewrite_var()).
Замечание:
С директивой разрешено использовать только встроенные функции. Для пользовательских функций вызывают функцию ob_start().
implicit_flush
bool
Значение по умолчанию — false. Изменение значения на true указывает PHP не сохранять
данные в буфер, а после каждого отправленного блока автоматически
отправлять данные в выходной слой. Это эквивалентно вызову PHP-функции
flush() после каждого вызова функции вывода
(например, print или echo)
и каждого HTML-блока.
При использовании PHP в веб-среде, включение этой опции
приведёт к серьёзной потере производительности, поэтому
рекомендуется использовать её только для отладки. Это значение
по умолчанию имеет true при работе в CLI SAPI.
Сморите также ob_implicit_flush().
url_rewriter.tags определяет HTML-теги и атрибуты,
в которых URL-адреса перезаписываются значениями функции output_add_rewrite_var().
Значение по умолчанию — «form=».
Добавление значения «form=» или любого атрибута формы (form)
добавит скрытый элемент input к форме (form),
с артибутом с указанными именем и значением для каждой пары имя-значение, переданной в функцию
output_add_rewrite_var().
Если в директиву url_rewriter.tags добавить один и тот же тег больше одного раза,
при перезаписи URL будет обработано только первое вхождение.
Замечание: До PHP 7.1.0 надо было использовать url_rewriter.tags для указания session.trans_sid_tags.
url_rewriter.hosts
string
url_rewriter.hosts указывает, какие хосты перезаписываются,
чтобы включить в них значения функции output_add_rewrite_var().
По умолчанию директиве установлено значение $_SERVER['HTTP_HOST'].
Разрешено указывать несколько хостов,
перечислив их через запятую без пробелов.
Например, «php.net,wiki.php.net,bugs.php.net».