Поведение функций зависит от установок в файле 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»
.