我如何从缓冲区得到最后的输出


How do I get the absolute last output from buffer?

我试图在wordpress之外使用REDIS缓存,在我的index.php中,我基本上包装了两行PHP来开始输出缓冲和结束输出缓冲…但是,它没有像预期的那样工作。

ob_start();
define('WP_USE_THEMES', true);
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
$buffer = ob_get_contents();
ob_end_clean();

$buffer只包含W3 total cache工作之前的HTML源代码…我们希望能够在W3总缓存完成其工作后捕获源。什么好主意吗?

来看看,w3总缓存并没有关闭所有的对象。

的决议:

  ob_start();
  $level = ob_get_level();
  require('./wp-blog-header.php');
  while(ob_get_level() > $level) ob_end_flush();
  $html_of_page = ob_get_clean();