当前位置:论坛首页 > Linux面板 > 求助

同一段代码,进度代码,本地phpstudy,其他面板也运行正常

发表在 Linux面板2017-8-3 17:27 [复制链接] 4 2042

  1. <?php
  2. for($i= 1;$i<=29;$i++) {
  3. ob_flush();
  4. flush();
  5. echo $i.'<br/>';
  6. sleep(1);
  7. }
  8. //这段代码应该很经典,本地phpstudy,其他面板也运行正常,依次输出。BT面板 APACHE2.4版本。需要等全部输出完毕之后,才一次性显示出来结果。
  9. ?>
复制代码


使用道具 举报 只看该作者 回复
发表于 2017-8-3 23:31:49 | 显示全部楼层
首先,这不是一个很大的问题,刷新输出缓存是一个很不被常用的function而且是不被推荐的(当然如果你不是在学习php的话)。

然后,很明显,这不是面板相关的问题,出现flush不起作用很明显是PHP环境配置方面的问题,而面板与环境相对独立。

具体原因所在,php配置中开启了output_buffering(输出缓存),大多数生产环境都是开启的。

修改你的php.ini:
配置 output_buffering = Off 即可

使用道具 举报 回复 支持 反对
发表于 2017-8-4 01:42:21 | 显示全部楼层
PHP的配置问题而已,其实各个面板编译安装PHP还有别的软件的参数都是不一样的,具体的还需要深入研究。
使用道具 举报 回复 支持 反对
发表于 2017-8-5 04:06:41 | 显示全部楼层
1501159989qnqw 发表于 2017-8-3 23:31
首先,这不是一个很大的问题,刷新输出缓存是一个很不被常用的function而且是不被推荐的(当然如果你不是在 ...

也切换试过关闭和设置值结果都一样
使用道具 举报 回复 支持 反对
发表于 2019-11-13 11:30:58 | 显示全部楼层
解决了吗  我也遇到这个问题了
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

立即付费处理

工作时间:09:00至24:00

快速回复 返回顶部 返回列表