ob_start();在PHP?

时间:2012-04-03 16:27:09

标签: php

使用on_start()时,这样做有什么不同,

// ENABLE GZIP COMPRESSION
ob_start();
ob_start('ob_gzhandler');

或者这是完全相同的,

// ENABLE GZIP COMPRESSION
ob_start('ob_gzhandler');

我问第一个例子,我的网站似乎加快了一点。

由于

3 个答案:

答案 0 :(得分:6)

你应该这样做:

ob_start();

或:

ob_start('ob_gzhandler');

但不是两者兼而有之。您可以检查$_SERVER['HTTP_ACCEPT_ENCODING']以查看用户代理是否接受gzip编码:

if(strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false)
   ob_start('ob_gzhandler');
else
    ob_start();

答案 1 :(得分:0)

第一个启动两层输出缓冲。浪费记忆。

答案 2 :(得分:0)

完全没有区别。 ob_start()是可堆叠的。这意味着第二个ob_start()只会在刷新时将其内容附加到第一个ob_start()。