首页 > TAG信息列表 > output-buffering

php-速度更快:输出缓冲区或回显

我正在写一个wordpress小部件插件.它应该输出一些看起来像这样的html代码 <a href="link1">link1title</a> <a href="link2">link2title</a> <a href="link3">link3title</a> <a href="link4">link4title</a>

php是否故意认为ob_end_flush()调用之后有一些输出?

这段代码: ob_start(); ob_end_flush(); header('foo'); 引发警告 Warning: Cannot modify header information - headers already sent 而这: echo ''; header('foo'); 没有. 我看不出它们之间有什么显着差异. 那么,这种行为是否正常? PS:PHP 5.3.2解决方法:My initial reactio

与php保持实时连接?

我正在做一个项目,需要我不断对新数据的php脚本执行ping操作,因此,如果我正确理解这一点,则意味着被ping的php脚本会无限期地运行.它可以工作,但是我猜想它对服务器造成了很大的压力,并且可能被认为是丑陋和不道德的做法.我说的对吗? 有什么办法可以保持与脚本的连接有效,并利用php

PHP View,使用模板

好吧,我的问题很简单,但是很难接受该解决方案,但是无论如何..接下来,我有一个“微型框架”,可以编写单个方案,对我有很大帮助,可以加速但是,在某种程度上,问题仍然存在,在某种程度上,使用模板方案非常容易,也非常有趣,因为当您必须更改与可视化相关的任何内容时,模板只会更改,但是,

输出缓冲区与PHP中的file_get_contents

这两种获取文件内容的方式有什么区别?哪一个更好更有效?我认为他们都获得了相同的结果,但是我真的不知道哪种方法更好. 例如. 此代码使用输出缓冲来获取文件的内容: ob_start(); include('foo/bar.tpl'); $output .= ob_get_contents(); ob_end_clean(); 此代码使用file_get_content

使用PHPUnit测试PHP头文件

我正在尝试使用PHPunit来测试输出一些自定义标头的类. 问题是在我的机器上这个: <?php class HeadersTest extends PHPUnit_Framework_TestCase { public function testHeaders() { ob_start(); header('Location: foo'); $headers_list = head

PHP Flush / ob_flush无效

我已经尝试了几次尝试使我的flush和ob_flush工作.我已经尝试设置ini以允许缓冲,我尝试使用我在网上找到的几个不同的功能来进行输出缓冲,而且根本没有任何功能正常工作.该脚本希望等到它完成后直到它回显输出.这是我到目前为止的脚本 ob_start(); //Login User echo 'Logging

Python不会解压缩打印语句

我有以下程序: def main(): print "Running" primes = sieve(100000) print "Sieve is done" def sieve(n): print "starting sieve" primes = [] times = 0 numbers = range(2, n): print "sieve array fil

php – 为什么ob_get_contents不起作用

我有这个代码: <?php ob_start(); ?> hi <?php echo ob_get_contents(); ob_end_clean(); 但没有输出. 如果我删除了ob_end_clean();输出是你好.如果在应用程序结束时未调用ob_flush(),则会再次自动刷新内容. 我需要使用ob_get_contents(),因为我将实现一个简单的缓存机制,将输出

如何阻止PHP输出缓冲吃掉错误消息?

好吧,既然我已经进一步了解它,我意识到这是一个愚蠢的问题,而且是错误的.事实证明,我维护的遗留代码的作者用错误日志将php_init语句置于不同的文件中. hi-jacking在输出缓冲打开的同时发生,使得看起来好像输出缓冲丢失了我的错误消息. 所以,主持人,随便删除这个.感谢那些善意回答

php – 困惑的人寻求:“警告:无法修改标题信息”

我非常想看到PHP警告“无法修改标题信息”.为什么?因为这是明智的.你不应该在身体后发送标题. 但是我可以!!如果我在一个控制器中调试一些变量并且之后不立即退出,那么脚本只会重定向到下一页:所有变为’井’并且我无法看到我的var转储. 在PHP中我可以配置(?)它不缓冲输出?或者无论是什么

php – 当从命令行执行脚本时,即使使用ob_start(),输出也会打印到终端

我写了一个小命令行脚本来处理文档[带有lilypond乐谱插入的降价文件,只是为了完整性]. #!/usr/bin/env php <?php $body = ""; ... // text gets processed here and stored in $body ... ob_start(); include 'template.php'; file_put_contents( __DIR__ . '/' .

php – 输出缓冲区如何恶化性能

我正在写一个PHP脚本,在我的header()函数之前的某个地方,我已经将文本打印到浏览器,因此导致我的header()函数给我一个众所周知的错误: Warning: Cannot modify header information – headers already sent. 现在我的问题是,我有意在header()函数之前和之后使用ob_start()和ob_f

PHP输出缓冲区获取白屏并且方法返回时没有错误

我一直在使用PHP很长一段时间,由于某种原因,迁移到新服务器导致白屏死机.显然它必须是因为版本差异.我多年来一直使用相同的输出缓冲模式. 通常… ob_start(); ?> //HTML... <?php $output = ob_get_clean(); ob_flush(); return $output; 最近我发现了我的普通/更新版本的P

php – 打开Output_Buffering会在随机页面上创建404错误

我一直在使用php中的output_buffering(由phpinfo()确认),我发现在打开它时,我将开始在我的页面上得到随机的404错误,但页面内容加载正常,一切看起来都不错. 这只发生在我的生产网站上. PHP 5.5.35,Apache / 2.4.18(Unix).我不知道404从哪里发送.有没有人对我可能发生的事情有什么想

通过str_replacing输出缓冲区中的内容将所有非ssl引用转换为php页面中的ssl是一个好习惯吗?

我需要替换php的html输出中的所有非ssl引用.通过对输出缓冲区中的内容执行str_replace并将其刷新来实现它是一个好习惯吗?实际上在php代码中有很多包含和要求,所以通过找到每个引用的位置来实现它是非常繁琐的.是否有任何艰难而快速的方法来解决这个问题?这是我正在做的一个粗略的想

flush()不在PHP中显示输出?

我有这个代码: set_time_limit(0); header("Cache-Control: no-cache, must-revalidate"); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); ob_flush(); flush(); $start = time(); $secs = time() - $start; while ($secs <=

PHP / Apache中的输出缓冲块如何工作?

假设我正在回应从PHP到浏览器的随机数据.随机数据的总量约为XGb,回声以YKb块的形式完成.没有使用ob_start().在PHP和Apache缓冲区已满后,echo调用是否会阻塞(客户端无法以与生成相同的速度消耗数据)?如果是这样,PHP和Apache缓存的大小是多少?我是否理解正确,过程如下: > PHP echo将字

如何将某些内容添加到PHP输出缓冲区的开头?

如何将某些东西附加到输出缓冲区的开头? 例如,假设您有以下代码: ob_start(); echo '<p>Start of page.</p>'; echo '<p>Middle of page.</p>'; echo '<p>End of page</p>'; 在将内容刷新到浏览器之前,如何附加某些内容以便在< p>页面开始之前显示.< / p&g

php – implicit_flush的“严重性能影响”是什么?

我的网站的管理部分有一堆非常慢的报告生成脚本,它们按生成的方式逐行回显输出.要将此输出立即刷新到浏览器,而不是用户在看到任何响应之前必须等待几分钟,我们将禁用output_buffering,并在此类脚本的开头调用ob_implicit_flush. 为方便起见,我正在考虑在php.ini中启用implicit_flu

PHP ob_start()问题

我允许有两个或更多ob_start();在我的php文件中,如果是这样,结束一个ob_start()的正确方法是什么;并开始另一个?解决方法:从手册: Output buffers are stackable, that is, you may call ob_start() while another ob_start() is active. Just make sure that you call ob_e

php – CodeIgniter – 在发送到浏览器之前编辑输出缓冲区?

我正在研究PHP框架CodeIgniter.在将输出刷新给用户之前,我需要一些关于编辑输出的帮助. 通常在PHP中,你可以使用ob_start();然后是ob_get_clean();检索内容. 但是,在阅读CodeIgniter文档时,他们说所有输出都已缓冲. 有没有人经历过无意中启动第二个ob_start()?或者,任何人都可以谈论

PHP输出缓冲到文本文件

我遇到了更新脚本的问题.它运行了几个小时,所以我希望它输出到文本文件. 我用这个文件开始 ob_start(); 然后在while循环中(因为它遍历数据库的记录)我有这个 $size=ob_get_length(); if ($size > 0) { $content = ob_get_contents(); logit($contents); ob_clean()