ob_flush没有处理新的apache配置

时间:2015-10-19 22:37:29

标签: php apache elastic-beanstalk mod-pagespeed

我最近从Amazon Elastic Beanstalk迁移到了我自己的ubuntu 14.04 lts服务器。除了使用ob_flush的一个页面并继续进行处理之外,一切都顺利移植。这是代码块:

 <?php 
 //put string of page ----> $string
 ob_end_clean();
 header("Connection: close");
 ignore_user_abort(true); // optional
 ob_start();
 echo ($string);
 $size = ob_get_length();
 header("Content-Length: $size");
 ob_end_flush(); // Strange behaviour, will not work
 flush();            // Unless both are called !
 session_write_close(); // Added a line suggested in the comment
 // Do processing here
sleep(10);
//do stuff
echo "something";

我希望打印$ string的内容,而不是$ string的内容,然后是&#34;&#34;&#34;打印。在这个片段中,&#34;&#34;&#34;还会打印。我已禁用mod_pagespeed(当前已启用),并确保将gzip和缓冲区输出设置为关闭。

Here是我的php.ini文件(因为它没有删节,可能与问题无关)我把它放在了异地。我也怀疑这可能与我的apache配置文件有关,你可以看到Here。最后,如果这与我的问题有关,here is a link到我的pagespeed配置。当我调用该函数时,错误日志显示没有错误,另外我有对服务器的root访问权限。感谢您帮助我解决此问题!

Jake Sylvestre

1 个答案:

答案 0 :(得分:0)

我认为你混淆了ob_get_contents和ob_end_flush看到:http://php.net/manual/en/function.ob-start.php