gpt4 book ai didi

PHP 错误 : ob_flush() [ref. outcontrol] : failed to flush buffer. 没有要刷新的缓冲区

转载 作者:行者123 更新时间:2023-12-03 00:32:52 25 4
gpt4 key购买 nike

有人可以保存这两个文件并运行它们,并告诉我为什么收到错误“ob_flush() [ref.outcontrol]:无法刷新缓冲区。没有要刷新的缓冲区”。我尝试谷歌搜索,它说我必须使用 ob_start();但是当我这样做时,它不会逐行打印出来,而是在完成后从 FOR 循环中返回整个对象。我对 PHP 有点陌生,所以我不知道还能去哪里寻找..

test_process.php

// This script will write numbers from 1 to 100 into file
// And sends continuously info to user
$fp = fopen( '/tmp/output.txt', 'w') or die('Failed to open');
set_time_limit( 120);
ignore_user_abort(true);

for( $i = 0; $i < 100; $i++){
echo "<script type=\"text/javascript\">parent.document.getElementById( 'foo').innerHTML += 'Line $i<br />';</script>";
echo str_repeat( ' ', 2048);
flush();
ob_flush();
sleep(1);
fwrite( $fp, "$i\n");
}

fclose( $fp);

ma​​in.html

<html>
<head>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript" charset="utf-8"></script>

<style type="text/css" media="screen">
.msg{ background:#aaa;padding:.2em; border-bottom:1px #000 solid}
.new{ background-color:#3B9957;}
.error{ background-color:#992E36;}
</style>

</head>
<body>

<iframe id="loadarea" width="1024px" height="768px"></iframe><br />
<script>
function helper() {
document.getElementById('loadarea').src = 'test_process.php';
}
function kill() {
document.getElementById('loadarea').src = '';
}
</script>

<input type="button" onclick="helper()" value="Start">
<input type="button" onclick="kill()" value="Stop">
<div id="foo"></div>


</body>
</html>

最佳答案

如果输出缓冲区处于事件状态(例如通过 ob_start()),您需要 ob_flush() ,或通过配置设置)。如果没有,只需删除 ob_flush() 即可。或者您可以将其设置为有条件:

 if (ob_get_level() > 0) {ob_flush();}

关于PHP 错误 : ob_flush() [ref. outcontrol] : failed to flush buffer. 没有要刷新的缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9182094/

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