Versionen dieses Beitrags

Die "guten" alten Zeiten...

ursus contionabundo
  • Die "guten" alten Zeiten...
  • > > > und bei PHP **immer** dran denken: Sobald das erste Byte vom Body geschrieben wurde, lässt sich an den Headern nichts mehr tun.
  • > >
  • > > Das "immer" galt in den "guten" alten Zeiten. Seit PHP (wohl) Version 5.6 braucht es jedenfalls für PHP, welches nicht als CLI ausgeführt wird, im folgenden Beispiel das `ob_start()` nicht mehr:
  • >
  • > Das stimmt so absolut auch wieder nicht.
  • Doch. Das von mir im Zitat absichtlich betonte "immer" stimmt absolut nicht.
  • > Wenn du aber mal nach oben rollst, siehst du, dass der Default-Wert 0 ist, und damit das Output-Buffering ausgeschaltet ist. Ist das nicht widersprüchlich?
  • Widersprüchlich ist die Dokumentation:
  • Widersprüchlich ist die Dokumentation bzw. das Verhalten der Entwickler:
  • In meiner, von mir nicht geänderten Fassung von /etc/php/7.3/apache2/php.ini
  • ~~~
  • ; output_buffering
  • ; Default Value: Off
  • ; Development Value: 4096
  • ; Production Value: 4096
  • ~~~
  • und, weiter unten:
  • ~~~
  • ; Note: Output buffering can also be controlled via Output Buffering Control
  • ; functions.
  • ; Possible Values:
  • ; On = Enabled and buffer is unlimited. (Use with caution)
  • ; Off = Disabled
  • ; Integer = Enables the buffer and sets its maximum size in bytes.
  • ; Note: This directive is hardcoded to Off for the CLI SAPI
  • ; Default Value: Off
  • ; Development Value: 4096
  • ; Production Value: 4096
  • ; http://php.net/output-buffering
  • output_buffering = 4096
  • ~~~
  • Das entspricht z.B. auch dem [Originaldownload "php-7.3.3.tar.bz2"](http://php.net/get/php-7.3.3.tar.bz2/from/a/mirror), darin der "php.ini-production" in den Blöcken ab den Zeilen 126 bzw. 203.
  • Soll heißen, die Entwickler benutzen den im Programm selbst bestimmten default-value "off" in den mit gelieferten ini-Dateien selbst gerade nicht und überschreiben ihn - übrigens auch in der "php.ini-development".
  • Das *"This directive is hardcoded to Off for the CLI SAPI"* hatte ich mit anderen Worten erwähnt.

Die "guten" alten Zeiten...

ursus contionabundo
  • Die "guten" alten Zeiten...
  • > > > und bei PHP **immer** dran denken: Sobald das erste Byte vom Body geschrieben wurde, lässt sich an den Headern nichts mehr tun.
  • > >
  • > > Das "immer" galt in den "guten" alten Zeiten. Seit PHP (wohl) Version 5.6 braucht es jedenfalls für PHP, welches nicht als CLI ausgeführt wird, im folgenden Beispiel das `ob_start()` nicht mehr:
  • >
  • > Das stimmt so absolut auch wieder nicht.
  • Doch. Das von mir im Zitat absichtlich betonte "immer" stimmt absolut nicht.
  • > Wenn du aber mal nach oben rollst, siehst du, dass der Default-Wert 0 ist, und damit das Output-Buffering ausgeschaltet ist. Ist das nicht widersprüchlich?
  • Widersprüchlich ist die Dokumentation:
  • In meiner, von mir nicht geänderten Fassung von /etc/php/7.3/apache2/php.ini
  • ~~~
  • ; output_buffering
  • ; Default Value: Off
  • ; Development Value: 4096
  • ; Production Value: 4096
  • ~~~
  • und, weiter unten:
  • ~~~
  • ; Note: Output buffering can also be controlled via Output Buffering Control
  • ; functions.
  • ; Possible Values:
  • ; On = Enabled and buffer is unlimited. (Use with caution)
  • ; Off = Disabled
  • ; Integer = Enables the buffer and sets its maximum size in bytes.
  • ; Note: This directive is hardcoded to Off for the CLI SAPI
  • ; Default Value: Off
  • ; Development Value: 4096
  • ; Production Value: 4096
  • ; http://php.net/output-buffering
  • output_buffering = 4096
  • ~~~
  • Das entspricht z.B. auch dem [Originaldownload "php-7.3.3.tar.bz2"](http://php.net/get/php-7.3.3.tar.bz2/from/a/mirror), darin der "php.ini-production" in den Blöcken ab den Zeilen 126 bzw. 203.
  • Soll heißen, die Entwickler benutzen den im Programm selbst bestimmten default-value "off" in den mit gelieferten ini-Dateien selbst gerade nicht und überschreiben ihn - übrigens auch in der "php.ini-development".
  • Soll heißen, die Entwickler benutzen den im Programm selbst bestimmten default-value "off" in den mit gelieferten ini-Dateien selbst gerade nicht und überschreiben ihn - übrigens auch in der "php.ini-development".
  • Das *"This directive is hardcoded to Off for the CLI SAPI"* hatte ich mit anderen Worten erwähnt.

Die "guten" alten Zeiten...

ursus contionabundo
  • Die "guten" alten Zeiten...
  • > > > und bei PHP **immer** dran denken: Sobald das erste Byte vom Body geschrieben wurde, lässt sich an den Headern nichts mehr tun.
  • > >
  • > > Das "immer" galt in den "guten" alten Zeiten. Seit PHP (wohl) Version 5.6 braucht es jedenfalls für PHP, welches nicht als CLI ausgeführt wird, im folgenden Beispiel das `ob_start()` nicht mehr:
  • >
  • > Das stimmt so absolut auch wieder nicht.
  • Doch. Das von mir im Zitat absichtlich betonte "immer" stimmt absolut nicht.
  • > Wenn du aber mal nach oben rollst, siehst du, dass der Default-Wert 0 ist, und damit das Output-Buffering ausgeschaltet ist. Ist das nicht widersprüchlich?
  • Widersprüchlich ist die Dokumentation:
  • In meiner, von mir nicht geänderten Fassung von /etc/php/7.3/apache2/php.ini
  • ~~~
  • ; output_buffering
  • ; Default Value: Off
  • ; Development Value: 4096
  • ; Production Value: 4096
  • ~~~
  • und, weiter unten:
  • ~~~
  • ; Note: Output buffering can also be controlled via Output Buffering Control
  • ; functions.
  • ; Possible Values:
  • ; On = Enabled and buffer is unlimited. (Use with caution)
  • ; Off = Disabled
  • ; Integer = Enables the buffer and sets its maximum size in bytes.
  • ; Note: This directive is hardcoded to Off for the CLI SAPI
  • ; Default Value: Off
  • ; Development Value: 4096
  • ; Production Value: 4096
  • ; http://php.net/output-buffering
  • output_buffering = 4096
  • ~~~
  • Das entspricht z.B. auch dem [Originaldownload "php-7.3.3.tar.bz2"](http://php.net/get/php-7.3.3.tar.bz2/from/a/mirror), darin der "php.ini-production" in den Blöcken ab den Zeilen 126 bzw. 203.
  • Soll heißen, die Entwickler benutzen den default-value in den mit gelieferten ini-Dateien selbst gerade nicht.
  • Soll heißen, die Entwickler benutzen den im Programm selbst bestimmten default-value "off" in den mit gelieferten ini-Dateien selbst gerade nicht und überschreiben ihn - übrigens auch in der "php.ini-development".

Die "guten" alten Zeiten...

ursus contionabundo
  • Die "guten" alten Zeiten...
  • > > > und bei PHP **immer** dran denken: Sobald das erste Byte vom Body geschrieben wurde, lässt sich an den Headern nichts mehr tun.
  • > >
  • > > Das "immer" galt in den "guten" alten Zeiten. Seit PHP (wohl) Version 5.6 braucht es jedenfalls für PHP, welches nicht als CLI ausgeführt wird, im folgenden Beispiel das `ob_start()` nicht mehr:
  • >
  • > Das stimmt so absolut auch wieder nicht.
  • Doch. Das von mir im Zitat absichtlich betonte "immer" stimmt absolut nicht.
  • > Wenn du aber mal nach oben rollst, siehst du, dass der Default-Wert 0 ist, und damit das Output-Buffering ausgeschaltet ist. Ist das nicht widersprüchlich?
  • Widersprüchlich ist die Dokumentation:
  • in meiner, von mir nicht geänderten Fassung von /etc/php/7.3/apache2/php.ini
  • In meiner, von mir nicht geänderten Fassung von /etc/php/7.3/apache2/php.ini
  • ~~~
  • ; output_buffering
  • ; Default Value: Off
  • ; Development Value: 4096
  • ; Production Value: 4096
  • ~~~
  • und, weiter unten:
  • ~~~
  • ; Note: Output buffering can also be controlled via Output Buffering Control
  • ; functions.
  • ; Possible Values:
  • ; On = Enabled and buffer is unlimited. (Use with caution)
  • ; Off = Disabled
  • ; Integer = Enables the buffer and sets its maximum size in bytes.
  • ; Note: This directive is hardcoded to Off for the CLI SAPI
  • ; Default Value: Off
  • ; Development Value: 4096
  • ; Production Value: 4096
  • ; http://php.net/output-buffering
  • output_buffering = 4096
  • ~~~
  • Das entspricht z.B. auch dem [Originaldownload "php-7.3.3.tar.bz2"](http://php.net/get/php-7.3.3.tar.bz2/from/a/mirror), darin der "php.ini-production" in den Blöcken ab den Zeilen 126 bzw. 203.
  • Das entspricht z.B. auch dem [Originaldownload "php-7.3.3.tar.bz2"](http://php.net/get/php-7.3.3.tar.bz2/from/a/mirror), darin der "php.ini-production" in den Blöcken ab den Zeilen 126 bzw. 203.
  • Soll heißen, die Entwickler benutzen den default-value in den mit gelieferten ini-Dateien selbst gerade nicht.