确实,经过一些测试后,WP Super Cache和W3 Total Cache都不会释放缓冲区(或阻止释放缓冲区)。
关闭“输出延迟”很简单,这取决于所涉及的缓存插件。
WP Super Cache:
wp_cache_disable();
ob_end_flush(); // or ob_end_clean();
这应在包括之后添加
wp-load.php
, 这会阻止任何缓存死机并刷新缓冲区。
W3 Total Cache:
ob_end_clean(); // or ob_end_flush();
同上,包括后调用
wp-load.php
, 与你那里的情况类似;W3 Total Cache应该只用于刷新,它确实会启动缓冲区,但它本身似乎并不阻止刷新。从您的输出仍然被缓存并且刷新不起作用的方式来看,我认为您有WP超级缓存,这更具攻击性。
确保在包括之前不启动新缓冲区wp-load.php
, 否则,缓冲区中会有一个缓冲区(BufferException?),必须冲洗两次或更多。