Хорошо, проблема в том, что какой-то другой плагин или тема на этом сайте создавал дополнительный выходной буфер и не очищал его, когда закончил. Когда я var_dumped ob_get_status (true), я видел это.
[0]=>
array(7) {
["name"]=>
string(22) "default output handler"
["type"]=>
int(0)
["flags"]=>
int(112)
["level"]=>
int(0)
["chunk_size"]=>
int(0)
["buffer_size"]=>
int(16384)
["buffer_used"]=>
int(0)
}
[1]=>
array(7) {
["name"]=>
string(22) "default output handler"
["type"]=>
int(0)
["flags"]=>
int(112)
["level"]=>
int(1)
["chunk_size"]=>
int(0)
["buffer_size"]=>
int(32768)
["buffer_used"]=>
int(28778)
}
}
Это означало, что каждый посылаемый мной грипп sh или ob_flu sh явно сбрасывал неправильный буфер и ничего не выводил. Итак, решение, которое я придумал, состояло в том, чтобы проверить, прежде чем я начал отправлять вывод, чтобы увидеть, сколько там буферов. Если их было больше одного, я очищал и закрывал все буферы, кроме одного. И, что удивительно, он начал работать.
Вот хакерский код, который я быстро придумал:
<code>```
$buffers = ob_get_status(true);
//shows the array of how many buffers are active.
//echo '<pre>';
//echo 'Buffer Count: '. count($buffers).'<br>';
//var_dump(ob_get_status(true));
//echo '
'; if (count ($ buffers)> 1) {for ($ i = 0; $ i