Laufzeit-Konfiguration
Das Verhalten dieser Funktionen wird
durch Einstellungen in der php.ini beeinflusst.
Konfigurationsoptionen für die Ausgabekontrolle
Name |
Standard |
Veränderbar |
Changelog |
output_buffering |
"0" |
PHP_INI_PERDIR |
|
output_handler |
NULL |
PHP_INI_PERDIR |
|
implicit_flush |
"0" |
PHP_INI_ALL |
|
url_rewriter.tags |
"a=href,area=href,frame=src,form=,fieldset=" |
PHP_INI_ALL |
Vor PHP 7.1.0 wurde dies für das URL-Rewriting verwendet, wenn die
transparente SID der Session aktiviert war. Von PHP 7.1.0 an wird es nur
noch von output_add_rewrite_var() verwendet.
|
url_rewriter.hosts |
$_SERVER['HTTP_HOST'] wird als Voreinstellung verwendet.
|
PHP_INI_ALL |
Verfügbar von PHP 7.1.0 an |
Weitere Details und die Definitionen der
PHP_INI_*-Konstanten finden Sie im
Wo Konfigurationseinstellungen gesetzt werden können.
Hier eine kurze Erklärung der
Konfigurationsoptionen:
-
output_buffering
bool/int
-
Sie können die Ausgabepufferung für alle Skripte aktivieren, indem Sie
diesen Wert auf 'On' setzen. Wenn Sie die Größe des Puffers limitieren
wollen, so können Sie die maximale Größe in Bytes an Stelle von 'On'
angeben (z.B. output_buffering=4096). Dieser Wert ist für den
PHP-CLI-Kommandozeileninterpreter grundsätzlich 'Off'.
-
output_handler
string
-
Sie können die Ausgaben Ihres Skriptes an eine Funktion weiterleiten.
Wenn sie z.B. mb_output_handler() als output_handler
setzen, wird die Zeichenkodierung transparent in die angegebene Kodierung
umgewandelt. Das Setzen einer beliebigen Ausgabesteuerung aktiviert die
Ausgabepufferung automatisch.
Hinweis:
Sie können mb_output_handler() nicht gleichzeitig mit
ob_iconv_handler() und
ob_gzhandler() nicht gleichzeitig mit zlib.output_compression.
benutzen.
Hinweis:
Es können nur eingebaute PHP-Funktionen mit dieser Anweisung verwendet
werden. Benutzerdefinierte Funktionen können mit Hilfe der
ob_start()-Funktion genutzt werden.
-
implicit_flush
bool
-
Diese Option ist standardmäßig false
. Wenn Sie implicit_flush auf
true
setzen, wird PHP angewiesen, den Ausgabepuffer nach jedem
Ausgabeblock automatisch zu leeren. Dies ist äquivalent zu
flush()-Aufrufen nach jedem
print- oder echo-Aufruf und
nach jedem HTML
-Block.
In Webanwendungen hat diese Option massive Performanceauswirkungen und
wird im Allgemeinen nur für Debugging-Zwecke empfohlen. Im
CLI SAPI
-Modus (Kommandozeileninterpreter) dagegen
ist diese Option standardmäßig true
.
Siehe auch ob_implicit_flush().
-
url_rewriter.tags
string
-
url_rewriter.tags
gibt an, welche HTML-Tags durch
output_add_rewrite_var() umgeschrieben werden. Die
Voreinstellung ist
a=href,area=href,frame=src,input=src,form=
form
ist ein besonderes Tag. <input
hidden="session_id" name="session_name">
wird als
Formular-Variable hinzugefügt.
Hinweis:
Vor PHP 7.1.0 wurde url_rewriter.tags verwendet, um
session.trans_sid_tags
anzugeben. Von PHP 7.1.0 an wird fieldset
nicht
länger als besonderes Tag angesehen.
-
url_rewriter.hosts
string
-
url_rewriter.hosts
gibt an, welche Hosts umgeschrieben
werden, um output_add_rewrite_var()-Werte aufzunehmen.
Standardmäßig ist das $_SERVER['HTTP_HOST']
. Mehrere
Hosts können durch "," angegeben werden, z.B.
php.net,wiki.php.net,bugs.php.net
. Zwischen den Hosts
ist kein Leerzeichen erlaubt.
support at losalgendesign dot com ¶9 years ago
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"); ?>