PDA

Bekijk Volledige Versie : output_buffering in php.ini



Dries.S
10/09/09, 01:02
Hallo,

Ik zou graag eens willen weten of het kwaad kan om de volgende regel in php.ini op te zetten:

output_buffering

Wat zijn eventuele gevolgen van de optie aan te zetten, buiten dat mensen dan hun fouten niet meer zien zoals cannot send header, already send bij het fout plaatsen van session_start() in hun script?

Groetjes,
Dries

QBell
10/09/09, 07:07
Een hele hoop overhead.....

Voor elke request moet php dan een x aantal (k)b vast houden in het geheugen waar hij de buffer kan plaatsen en bewaren. Bij low traffic sites zal je dit nog niet zo snel merken, maar bij sites die meerdere requests per seconden draaien gaat dit aardig in de papieren lopen...

Ten tweede heeft het nadelige gevolgen voor de pipeline....
Als output buffering uit staat, en jou applicatie start. Dan stuur je meestal als een van de eerste dingen je headers naar de browser. De rest van de pagina mag er dan relatief lang over doen om te laden, omdat de headers al gestuurd zijn weet de browser dat je bestaat en geeft geen early read timeout.
Als je output buffering aan zet en het opbouwen van de pagina duurt 30 seconden, dan gaan de meeste browsers al stijgeren. Dit omdat het dan ook 30+ seconden duurt voordat de eerste headers gestuurd worden. Firefox geeft bij mijn weten na 15~30 seconden een timeout als hij helemaal nooit headers gehad heeft.

Daarnaast vind ik als programmeur (en webhoster) dat je output buffering niet aan mag zetten. Output buffering is een oplossing voor een codeer probleem, als je niet in staat bent om dat soort problemen op te lossen mag je eigenlijk ook helemaal geen applicaties maken.... Maar dat is maar mijn ideaal... Ik ben persoonlijk ook de gek die programmeerd met error_reporting E_ALL, zodat ik ook alle notice-n kan fixen.....

t.bloo
10/09/09, 07:15
+1 voor QBell

The-BosS
10/09/09, 16:54
Ik ben persoonlijk ook de gek die programmeerd met error_reporting E_ALL, zodat ik ook alle notice-n kan fixen.....

Je bent niet de enige die dat doet :D

PreServer
14/10/09, 23:26
Je bent niet de enige die dat doet :D

Doe ik ook altijd, scheelt een hoop errors waar je later eventueel last van gaat krijgen je en later dagen naar aan het zoeken bent waarom het niet (of half) werkt