Настройка во время выполнения

Поведение функций зависит от установок в файле 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
Дополнительную информацию и определения режимов INI_* даёт раздел «Места установки параметров конфигурации».

Краткое разъяснение конфигурационных директив.

output_buffering bool/integer

Со значением "On" директива включает буферизацию вывода для всех файлов. Вместо значения "On" директива поддерживает число — количество байтов, которым ограничится размер буфера: output_buffering=4096.

output_handler string

PHP поддерживает перенаправление вывода скриптов в функцию. При установке названия функции 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 в веб-окружении директива снижает производительность, поэтому настройку включают только для отладки. При работе через CLI SAPI предустановленное значение директивы равно true.

Сморите также описание функции ob_implicit_flush().

url_rewriter.tags string
Директива url_rewriter.tags определяет HTML-теги и атрибуты, в которых URL-адреса перезаписываются значениями функции output_add_rewrite_var(). Значение по умолчанию — «form=». Добавление значения «form=» или любого атрибута формы (form) добавит скрытый элемент input к форме (form), с артибутом с указанными именем и значением для каждой пары имя-значение, переданной в функцию output_add_rewrite_var().
Предостережение

При перезаписи URL-адресов обработается только первое вхождение, если в директиву url_rewriter.tags один и тот же тег добавили больше одного раза.

Замечание: До PHP 7.1.0 список HTML-тегов, которые теперь определяет директива session.trans_sid_tags, указывали в директиве url_rewriter.tags.

url_rewriter.hosts string
Директива url_rewriter.hosts указывает, какие хосты перезаписываются, чтобы включить в них значения функции output_add_rewrite_var(). По умолчанию директиве установлено значение $_SERVER['HTTP_HOST']. Разрешено указывать несколько хостов, перечислив их через запятую без пробелов. Например, «php.net,wiki.php.net,bugs.php.net».