Using "OFF" or no value on output_buffering will disable header modifications, like redirects or content-type or content-disposition resulting in the error we commonly attribute to output before header modifications:
Warning: Cannot modify header information - headers already sent by (output started at C:\PATH\filename.php:1) C:\PATH\filename.php on line 1
Example code with output_buffering = OFF which results in this behavior. Changing it to "ON" or giving it a value will likely cause normal behavior.
<?php header("Location: http://www.php.net"); ?>
or
<?php header("Content-Type: text/Calendar"); ?>
<?php header("Content-Disposition: inline; filename=appointment.ics"); ?>Конфигурација во време на извршување
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Конфигурација во време на извршување
Референца за `outcontrol.configuration.php` со подобрена типографија и навигација.
Конфигурација во време на извршување
Поведението на овие функции е под влијание на поставките во 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 поставка овозможуваше транспарентна поддршка за ID на сесија (види session.trans_sid_tags). |
| url_rewriter.hosts | $_SERVER['HTTP_HOST'] се користи како стандардно. |
INI_ALL |
Достапно од PHP 7.1.0 |
Еве кратко објаснување на директивите за конфигурација.
-
output_bufferingbool/int -
Баферирањето на излезот за сите датотеки може да се овозможи со поставување на оваа директива на
"On". За да се ограничи големината на баферот, наместо тоа може да се користи број/количина што одговара на максималниот дозволен број бајти"On"за вредноста на оваа директива. На примерoutput_buffering=4096. Оваа директива е секогаш исклучена во PHP-CLI. -
output_handlerstring -
Излезот на скриптите може да се пренасочи кон функција. На пример, поставување
output_handlerto mb_output_handler(), кодирањето на знаците ќе биде транспарентно претворено во наведеното кодирање. Поставувањето на кој било ракувач со излез автоматски го вклучува баферирањето на излезот.Забелешка:
mb_output_handler() and ob_iconv_handler() не може да се користат заедно и ob_gzhandler() and zlib.output_compression не може да се користи со ниту едно од следниве: mb_output_handler(), ob_gzhandler(), zlib.output_compression, ракувачот 'URL-Rewriter' (види session.use_trans_sid and output_add_rewrite_var()).
Забелешка:
Со оваа директива може да се користат само вградени функции. За кориснички дефинирани функции, користете ob_start().
-
implicit_flushbool -
falseстандардно. Промена на ова наtrueму кажува на PHP да му каже на излезниот слој автоматски да се испразни по секој блок за излез. Ова е еквивалентно на повикување на PHP функцијата flush() по секој повик до која било функција што произведува излез (како што е print or 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.hostsstring -
url_rewriter.hostsги специфицира кои хостови се препишуваат за да вклучат output_add_rewrite_var() вредности. Стандардно е$_SERVER['HTTP_HOST']. Повеќе хостови може да се специфицираат со список разделен со запирки што не вклучува празни места. На пример"php.net,wiki.php.net,bugs.php.net".