Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 有没有办法禁用输出缓冲区的自动刷新_Php_Output Buffering - Fatal编程技术网

Php 有没有办法禁用输出缓冲区的自动刷新

Php 有没有办法禁用输出缓冲区的自动刷新,php,output-buffering,Php,Output Buffering,有没有办法在PHP中禁用自动输出缓冲区刷新?我总是可以使用ob_clean或一个派生函数,但这仍然会导致代码执行中断的情况。包含bufferclean的正确错误处理程序将再次处理大多数错误。但如果脚本在执行过程中遇到die/exit命令呢?它将终止脚本,缓冲区内容仍将自动刷新到客户端。100%确定的唯一方法似乎是完全禁用自动刷新。但如果可能的话,我不知道如何实现这一点。另一种解决方案,您可以始终实现自己的缓冲区,并在您觉得需要时刷新。。。 因此,您的代码应以以下形式开始: $buffer='';

有没有办法在PHP中禁用自动输出缓冲区刷新?我总是可以使用ob_clean或一个派生函数,但这仍然会导致代码执行中断的情况。包含bufferclean的正确错误处理程序将再次处理大多数错误。但如果脚本在执行过程中遇到die/exit命令呢?它将终止脚本,缓冲区内容仍将自动刷新到客户端。100%确定的唯一方法似乎是完全禁用自动刷新。但如果可能的话,我不知道如何实现这一点。

另一种解决方案,您可以始终实现自己的缓冲区,并在您觉得需要时刷新。。。 因此,您的代码应以以下形式开始:

$buffer='';
在此之后,当您计划打印某些内容时,只需将print替换为$buffer即可=

一旦决定刷新缓冲区,只需执行以下操作:

print($buffer); $buffer='';

通过这样做,您不仅可以100%控制缓冲区,还可以在脚本执行过程中设置额外的头,这在某些情况下非常方便…

另一种解决方案是,您可以始终实现自己的缓冲区,并在您觉得需要时刷新。。。 因此,您的代码应以以下形式开始:

$buffer='';
在此之后,当您计划打印某些内容时,只需将print替换为$buffer即可=

一旦决定刷新缓冲区,只需执行以下操作:

print($buffer); $buffer='';

通过这样做,您不仅可以100%控制缓冲区,还可以在脚本执行过程中设置额外的头,这在某些情况下非常方便……

您是否验证了缓冲区没有简单地刷新,因为它已满?如果是这种情况,那么唯一的方法就是增加缓冲区大小,而不知道如何增加缓冲区大小。对于初学者来说,代码中不应该出现死或退出,尤其是在输出挂起的地方。在大多数情况下,脚本应该有一个bootstrap.php文件,该文件从头到尾运行。当脚本开始时它就开始了,当脚本结束时它也开始了。我知道这一点。但我问这个问题是为了清理一个古老的大型项目。那里有很多代码,是由几个人编写的,有些部分从1999年就开始了,显然还有很多非常糟糕的代码,我已经不得不处理SQL注入漏洞了。我能做的最好的事情就是将每个输出抓取到缓冲区并进行处理。它似乎工作得很好,但上帝知道是否有什么东西仍然会终止脚本的方式,我没有预料到。没有自动刷新至少可以让我在这方面确定。您是否验证过缓冲区不是简单地刷新的,因为它已满?如果是这种情况,那么唯一的方法就是增加缓冲区大小,而不知道如何增加缓冲区大小。对于初学者来说,代码中不应该出现死或退出,尤其是在输出挂起的地方。在大多数情况下,脚本应该有一个bootstrap.php文件,该文件从头到尾运行。当脚本开始时它就开始了,当脚本结束时它也开始了。我知道这一点。但我问这个问题是为了清理一个古老的大型项目。那里有很多代码,是由几个人编写的,有些部分从1999年就开始了,显然还有很多非常糟糕的代码,我已经不得不处理SQL注入漏洞了。我能做的最好的事情就是将每个输出抓取到缓冲区并进行处理。它似乎工作得很好,但上帝知道是否有什么东西仍然会终止脚本的方式,我没有预料到。没有自动刷新至少会让我在这方面有把握。任何对我的答案投反对票的人,请礼貌地告诉我原因?!这是一个非常有效的解决方案!任何对我的答案投反对票的人请礼貌地告诉我原因?!这是一个非常有效的解决方案!