草庐IT

ob_end_flush

全部标签

php - ob_get_level() 从级别 1 开始

输出缓冲存在一些问题。主要是,我正在尝试使用ob_gzhandler回调运行输出缓冲,但它一直告诉我它使用了不受支持的压缩类型。一切都已启用,我认为问题是在我的脚本开头运行ob_get_level()会产生级别1。php.ini将我的output_buffering设置为4096。如果我运行类似的东西:while(ob_get_level()>0){ob_end_clean();}然后我可以使用ob_gzhandler回调成功运行ob_start()。但我想知道这是否应该成为一个问题。在我的脚本中,我在不同的点调用ob_clean(),因为我避免堆叠太多缓冲区,因为我已经读过这可以提高

PHP ob_start vs opcode APC,解释差异和实际用法?

前提:我不是要重新发明轮子,我只是想理解。可以轻松实现输出缓存://GetFromMyCachereturnsthepageifitfindsthefileotherwisereturnsFALSEif(($page=GetFromMyCache($page_id))!==FALSE){echo$page;//sendingoutpagefromcacheexit();}//sincewereachthispointincode,itmeanspagewasnotincacheob_start();//let'sstartcaching//weprocessthepagegetting

php - ob_start 没有执行回调

我在使用ob_start时遇到问题。不确定交易是什么,但我已经将其简化为最简单的测试用例......仍然无济于事。我希望此代码将“bar”输出到标准输出,但我什么也没得到,错误日志中也没有错误。我以前从未见过这种情况,但我通常不使用这样的回调。 最佳答案 你的处理函数应该返回你想要输出的内容,而不是回应它。functiongzhandler_ex($buffer,$mode){return'bar';}此外,在脚本末尾调用ob_flush()是不必要的;它是隐式的。 关于php-ob_s

PHP flush() 显然可以在我的 Linux 机器上运行,但不能在我的 Windows 机器上运行?

我正在尝试为我正在做的项目熟悉PHP的flush()函数,我自己编写了一些脚本,并将它们上传到我拥有的某个网站空间;但似乎它们都不起作用。我从PHP.net上的评论中挑选了下面的一个并试了一下:';for($i=0;$i';flush();sleep(1);}echo'End...';显然脚本仍然无法正常工作。然后我看到一条评论说:Ifyoucallob_flush()andflush()andstilldontgetthebufferflusheditmightbebecausesomeantivirussoftware(Pandainthiscase)holdsthebufferu

PHP flush 在 IIS 8 中停止刷新

注意:我知道这看起来像是thisquestion的副本.我不明白它是如何重复的。我已经说过我已经检查了那个问题,并且我尝试了所有的答案,但是没有用。这是我尝试过的:在达里奥的回答下,我按照步骤操作,但在名称部分没有找到任何php在接受的答案中,我在命令行提示符下运行了相同的代码,但它显示:appcmd.exesetconfig/section:handlers"/[name='PHP55_via_FastCGI'].ResponseBufferLimit:0"然后返回这个:ERROR(message:Cannotfindrequestedcollectionelement.)然后我查了

PHP 输出缓冲

在PHP脚本中或使用htaccess文件打开输出缓冲的方法有哪些?我在应用程序根目录中的htaccess文件中使用以下方法:php_valueoutput_bufferingOnphp_valueoutput_handlermb_output_handler在我的一个共享主机帐户(使用PHP5.2.x的Linux主机)上,上面的代码生成了一个空白页面。技术支持说他们无法在php.ini文件中打开它,但我可以在我的脚本中打开它...ob_start()和ob_end_flush()也产生相同的结果。我能做什么? 最佳答案 使用ob_s

php - Laravel 日志记录 : extra square brackets at end of log lines?

我是Laravel的新手,当我使用它基于Monolog的日志记录时,我注意到了,例如Log::info('blahblah'),它写入我的日志文件的行以两组空的方括号作为后缀。它们有什么用,我怎样才能关闭它们?他们丝毫没有帮助。我已经尝试深入研究源代码并进行了一些谷歌搜索,但没有看到任何解释。例子:[2013-11-1209:13:16]log.INFO:Helloworld[][][2013-11-1209:13:31]log.INFO:Mysillylogmessage[][]谢谢! 最佳答案 这是一个将curtisdf的答案与

php - 为什么我需要结束我的 ob_start()?

php文档建议我应该以ob_end_flush()结束每个ob_start()。我在网站的每个页面上都使用了一个,只是为了让我可以在应用程序的任何地方使用firephp日志方法。该应用程序运行良好,但我想知道是否有任何我不知道的可能有害的地方。 最佳答案 我认为这个建议的原因是,当不使用ob_end_*函数之一时,PHP会隐式刷新您的输出缓冲区。虽然这不是错误,但它可能在意想不到的情况下会导致问题。PHP文档试图保护您免受此类问题的困扰。如果您知道隐式刷新,这可能不是问题。 关于php-

php - 警告 : preg_replace(): No ending delimiter '/' found

这个问题在这里已经有了答案:WhatDelimitertouseforpreg_replaceinPHP(replaceworkingoutsideofPHPbutnotinside)(3个答案)关闭7年前。警告:preg_replace():Noendingdelimiter'/'foundinC:\wamp\www\upload\upload_demo.phponline77我使用preg_replace()将斜杠替换为反斜杠。但它显示了上述警告。这是代码..functiondel_file($file){$delete=@unlink($file);clearstatcache(

PHP ob_start() 和 ob_start ('ob_gzhandler' )

使用ob_start()和ob_start('ob_gzhandler')有什么区别?它如何影响页面速度? 最佳答案 这不会像您想象的那样影响页面速度。ob_gzhandler是一个回调函数,它从您的输出缓冲区中获取内容并在输出之前压缩数据。这会减少发送到浏览器的内容的大小,这可能会加快向客户端传输内容的速度。但它不会加速您的应用程序/网站。 关于PHPob_start()和ob_start('ob_gzhandler'),我们在StackOverflow上找到一个类似的问题: