gpt4 book ai didi

php - 输出缓冲 ob_get_clean 不工作

转载 作者:可可西里 更新时间:2023-10-31 23:01:10 25 4
gpt4 key购买 nike

我的代码下面的代码可以按我的要求正常工作。它不会在浏览器上发送我真正想要的任何输出。

ob_start();
echo "test";
echo "test";
$output = ob_get_clean( );

但问题出在我下面的代码中。下面的代码开始在浏览器上发送输出,即使我在最后有 $output = ob_get_clean( );

ob_start();
for($i=0;$i<=10000000;$i++){
echo $i."<br/>";
}
$output = ob_get_clean( );

我无法理解输出缓冲的概念。每个人都说您可以控制输出并在需要时发送输出,但我上面的脚本开始将输出发送到浏览器。

最佳答案

可以缓冲的大小有一个限制,默认情况下为 4KB,因此您的脚本达到了最大值。如果您想将它用于更大的缓冲区,您必须编辑 php.ini 设置以反射(reflect)这一点。引用自 PHP 文档

You can enable output buffering for all files by setting this directive to ‘On’. If you wish to limit the size of the buffer to a certain size – you can use a maximum number of bytes instead of ‘On’, as a value for this directive (e.g., output_buffering=4096). As of PHP 4.3.5, this directive is always Off in PHP-CLI. source

PHP 文档在这个主题上非常专业,所以我找到了这篇解释输出缓冲的位和技巧的博客文章:

Streaming and Output Buffering

关于php - 输出缓冲 ob_get_clean 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47329301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com