Die () делает ob_end_flush ()? - PullRequest
       18

Die () делает ob_end_flush ()?

8 голосов
/ 19 января 2011

Кажется, я нигде не могу найти хороший ответ на этот вопрос. Если я запускаю буферизацию вывода и запускается die(), это также запускает ob_end_flush()?

Ответы [ 2 ]

14 голосов
/ 19 января 2011

Да, это так. Каждый раз, когда скрипт завершается изящно, буферы будут очищены. Единственными не изящными окончаниями являются ошибки сегментирования или уничтожение (сигнал 9 SIG_KILL). Единственное место, где die() выполняет жесткое уничтожение процесса, - это если вы вызываете его внутри register_shutdown_function (но буферы сбрасываются перед вызовом функции завершения работы, так что проблем здесь нет). См. Обработка соединения для получения дополнительной информации ...

0 голосов
/ 15 февраля 2019

Да.

Однако вы можете сделать вывод пустым, если у вас есть

register_shutdown_function('ob_clean');

ранее в коде.

В некоторых случаях мы не хотели выводить ob на кристалл (). Я пишу это здесь на случай, если это может помочь любому, кто хочет сделать то же самое.

...