Php 有没有办法禁用输出缓冲区的自动刷新
有没有办法在PHP中禁用自动输出缓冲区刷新?我总是可以使用ob_clean或一个派生函数,但这仍然会导致代码执行中断的情况。包含bufferclean的正确错误处理程序将再次处理大多数错误。但如果脚本在执行过程中遇到die/exit命令呢?它将终止脚本,缓冲区内容仍将自动刷新到客户端。100%确定的唯一方法似乎是完全禁用自动刷新。但如果可能的话,我不知道如何实现这一点。另一种解决方案,您可以始终实现自己的缓冲区,并在您觉得需要时刷新。。。 因此,您的代码应以以下形式开始:Php 有没有办法禁用输出缓冲区的自动刷新,php,output-buffering,Php,Output Buffering,有没有办法在PHP中禁用自动输出缓冲区刷新?我总是可以使用ob_clean或一个派生函数,但这仍然会导致代码执行中断的情况。包含bufferclean的正确错误处理程序将再次处理大多数错误。但如果脚本在执行过程中遇到die/exit命令呢?它将终止脚本,缓冲区内容仍将自动刷新到客户端。100%确定的唯一方法似乎是完全禁用自动刷新。但如果可能的话,我不知道如何实现这一点。另一种解决方案,您可以始终实现自己的缓冲区,并在您觉得需要时刷新。。。 因此,您的代码应以以下形式开始: $buffer='';
$buffer='';
在此之后,当您计划打印某些内容时,只需将print替换为$buffer即可=
一旦决定刷新缓冲区,只需执行以下操作:
print($buffer); $buffer='';
通过这样做,您不仅可以100%控制缓冲区,还可以在脚本执行过程中设置额外的头,这在某些情况下非常方便…另一种解决方案是,您可以始终实现自己的缓冲区,并在您觉得需要时刷新。。。 因此,您的代码应以以下形式开始:
$buffer='';
在此之后,当您计划打印某些内容时,只需将print替换为$buffer即可=
一旦决定刷新缓冲区,只需执行以下操作:
print($buffer); $buffer='';
通过这样做,您不仅可以100%控制缓冲区,还可以在脚本执行过程中设置额外的头,这在某些情况下非常方便……您是否验证了缓冲区没有简单地刷新,因为它已满?如果是这种情况,那么唯一的方法就是增加缓冲区大小,而不知道如何增加缓冲区大小。对于初学者来说,代码中不应该出现死或退出,尤其是在输出挂起的地方。在大多数情况下,脚本应该有一个bootstrap.php文件,该文件从头到尾运行。当脚本开始时它就开始了,当脚本结束时它也开始了。我知道这一点。但我问这个问题是为了清理一个古老的大型项目。那里有很多代码,是由几个人编写的,有些部分从1999年就开始了,显然还有很多非常糟糕的代码,我已经不得不处理SQL注入漏洞了。我能做的最好的事情就是将每个输出抓取到缓冲区并进行处理。它似乎工作得很好,但上帝知道是否有什么东西仍然会终止脚本的方式,我没有预料到。没有自动刷新至少可以让我在这方面确定。您是否验证过缓冲区不是简单地刷新的,因为它已满?如果是这种情况,那么唯一的方法就是增加缓冲区大小,而不知道如何增加缓冲区大小。对于初学者来说,代码中不应该出现死或退出,尤其是在输出挂起的地方。在大多数情况下,脚本应该有一个bootstrap.php文件,该文件从头到尾运行。当脚本开始时它就开始了,当脚本结束时它也开始了。我知道这一点。但我问这个问题是为了清理一个古老的大型项目。那里有很多代码,是由几个人编写的,有些部分从1999年就开始了,显然还有很多非常糟糕的代码,我已经不得不处理SQL注入漏洞了。我能做的最好的事情就是将每个输出抓取到缓冲区并进行处理。它似乎工作得很好,但上帝知道是否有什么东西仍然会终止脚本的方式,我没有预料到。没有自动刷新至少会让我在这方面有把握。任何对我的答案投反对票的人,请礼貌地告诉我原因?!这是一个非常有效的解决方案!任何对我的答案投反对票的人请礼貌地告诉我原因?!这是一个非常有效的解决方案!