2011-01-19 12 views
6

Non riesco a trovare una buona risposta su questo ovunque. Se eseguo il buffer di output e viene attivato un numero die(), viene avviato anche uno ob_end_flush()?muore() fa un ob_end_flush()?

+2

Vedo i buffer in sospeso quando lo script termina (muore o non muore, CLI o HTTP). Non so se è documentato e/o configurabile; Sono d'accordo che sarebbe interessante trovare un riferimento esplicito ad esso nel manuale. –

risposta

12

Sì, sì. Ogni volta che la sceneggiatura termina con grazia, i buffer verranno svuotati. Le uniche terminazioni non aggraziate sono se la segmentazione si guasta o se viene uccisa (segnale 9 SIG_KILL). L'unico punto in cui lo standard die() esegue un kill del processo è se lo si chiama all'interno di un register_shutdown_function (ma i buffer vengono svuotati prima che venga chiamata la funzione di arresto, quindi non c'è nessun problema lì). Vedere Connection Handling per ulteriori informazioni ...

Problemi correlati