Intereting Posts

Вывод буфера вывода командной строки PHP независимо от настроек буфера

У меня есть несколько классов, я пишу модульные тесты, для которых есть эхо в них. Я хочу подавить этот вывод и думал, что ob_start() и ob_clean() будут достаточными, но они не имеют эффекта.

 public function testSomething (){ ob_start(); $class = new MyClass(); $class->method(); ob_clean(); } 

Я также пробовал такие вариации, как ob_start(false, 0, true); и ob_end_clean() безрезультатно.

Что мне не хватает?

Solutions Collecting From Web of "Вывод буфера вывода командной строки PHP независимо от настроек буфера"

вам может понадобиться нечто подобное

 <?php public function testSomething (){ ob_start(); ob_implicit_flush(false); // turn off implicit flush // Make your output below $class = new MyClass(); $class->method(); // End of output // store output into variable: $output = ob_get_contents(); } ?> 

У вас есть implicit_flush, установленный в true в вашем PHP ini? Это может привести к поведению, которое вы видите, когда он сообщает PHP, чтобы сообщить, что выходной уровень автоматически отключается автоматически после каждого выходного блока. Это эквивалентно вызову функции PHP flush () после каждого вызова print () или echo () и каждого блока HTML.