Поведение этих функций зависит от установок в 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
stringurl_rewriter.hosts
указывает, какие хосты перезаписываются, чтобы включить в них значения функции output_add_rewrite_var(). По умолчанию директиве установлено значение $_SERVER['HTTP_HOST']
. Разрешено указывать несколько хостов, перечислив их через запятую без пробелов. Например, «php.net,wiki.php.net,bugs.php.net»
.