PHP 5.6.0beta1 released

Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Output-Control-Konfigurationsoptionen
Name Standard Veränderbar Changelog
output_buffering "0" PHP_INI_PERDIR  
output_handler NULL PHP_INI_PERDIR Verfügbar seit 4.0.4.
implicit_flush "0" PHP_INI_ALL PHP_INI_PERDIR in PHP <= 4.2.3.
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 boolean/integer

Sie können Output Buffering für alle Scripte aktivieren, indem Sie diesen Wert auf 'On' setzen. Wenn Sie die Größe des Buffers auf limitieren wollen, so können Sie die maximale Größe in Bytes an Stelle von 'On' angeben (z.B. output_buffering=4096). Ab PHP 4.3.5 ist dieser Wert für den PHP-CLI-Kommandozeileninterpreter grundsätzlich 'Off'.

output_handler string

Sie können die Ausgaben Ihres Scriptes an eine Funktion weiterleiten. Wenn sie z.B. mb_output_handler() als output_handler setzen, so wird das Character-Encoding transparent in das spezifizierte Encoding umgewandelt. Das Setzen einer output_handle- Funktion aktiviert das Output Buffering 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 angegeben werden, benutzerdefinierte Funktionen können mit Hilfe der ob_start()-Funktion genutzt werden.

implicit_flush boolean

Diese Option ist standardmäßig deaktiviert. Wenn Sie implicit_flush aktivieren, so wird PHP angewiesen, nach jedem Output-Block automatisch den Output-Layer zu leeren. Dies ist äquivalent zu flush()-Aufrufen nach jedem echo- oder print-Aufruf und nach jedem HTML-Block.

In Webanwendungen hat diese Option massive Performanceauswirkungen und sollte wenn überhaupt dann nur zu Debuggingzwecken aktiviert werden. Im PHP-CLI-Kommandozeileninterpreter dagegen ist diese Option standardmäßig aktiviert.

Siehe auch ob_implicit_flush().

add a note add a note

User Contributed Notes 1 note

up
0
support at losalgendesign dot com
8 months 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"); ?>
To Top