ob_flush 不适用于新的 apache 配置
Posted
技术标签:
【中文标题】ob_flush 不适用于新的 apache 配置【英文标题】:ob_flush not working on new apache configuration 【发布时间】:2016-01-18 10:20:54 【问题描述】:我最近从 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 的内容,然后打印“something”。在这个 sn-p 中,“something”仍然会打印出来。我已禁用 mod_pagespeed(当前已启用),并确保 gzip 和缓冲区输出设置为关闭。
Here 是我的php.ini
文件(我在场外拥有它,因为它未删节并且可能与问题无关)。我也怀疑这可能与我的 apache 配置文件有关,您可以看到 Here。最后,如果这与我的问题有关,here is a link 我的 pagespeed 配置。当我调用该函数时,错误日志显示没有错误,另外我对服务器具有 root 访问权限。谢谢你帮我解决这个问题!
杰克·西尔维斯特
【问题讨论】:
【参考方案1】:我认为您混淆了 ob_get_contents 和 ob_end_flush 请参阅:http://php.net/manual/en/function.ob-start.php。
【讨论】:
所以你说我必须 echo 调用 ob_get_contents(),然后调用 ob_end_flush?以上是关于ob_flush 不适用于新的 apache 配置的主要内容,如果未能解决你的问题,请参考以下文章
Apache 2.4 - 简单的反向代理 - 不适用于多个条目
Expo LAN 配置不适用于新的 React Native 项目
apache tomcat 9.x 不适用于 eclipse 和 Java 10.0.1