加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

在脚本PHP输出缓冲区设置被服务器忽略

发布时间:2020-12-13 22:44:23 所属栏目:PHP教程 来源:网络整理
导读:我一直在尝试按需将某些脚本的输出刷新到浏览器,但它们不能在我们的制作服务器上运行. 例如,我尝试运行“Phoca Changing Collat??ion”工具(在Google上找到它),在脚本完成执行之前我没有看到任何输出. 我已经尝试立即刷新其他脚本上的缓冲区,该脚本在任何服
我一直在尝试按需将某些脚本的输出刷新到浏览器,但它们不能在我们的制作服务器上运行.

例如,我尝试运行“Phoca Changing Collat??ion”工具(在Google上找到它),在脚本完成执行之前我没有看到任何输出.

我已经尝试立即刷新其他脚本上的缓冲区,该脚本在任何服务器上工作正常但是这个使用以下代码:

echo "something";
ob_flush();
flush();

设置“ob_implicit_flush(1);”也没有帮助.

服务器是Apache 2.2.21,在Linux上运行PHP 5.2.17.你可以在这里看到我们的php.ini文件,如果这将有所帮助:
http://www.smallfiles.org/download/1123/php.ini.html

这不是我们在服务器忽略脚本指令时遇到的唯一问题.服务器还忽略超时编码,例如:

ini_set('max_execution_time',900*60);

set_time_limit(86400);

脚本总是在php.ini默认情况下超时.

如果在IE或Firefox中执行脚本似乎并不重要.

解决方法

解开了这个谜.他们都.

为了解决输出缓冲区问题,我需要在.htaccess文件中关闭gzip压缩,尽管我希望我可以在脚本中执行它.

这是您应该放在.htaccess文件中的内容:

<IfModule mod_gzip.c>
    mod_gzip_on  No
</IfModule>

SetEnv no-gzip dont-vary

为了修复脚本没有错误地终止,我检查了我的Apache日志文件,发现它不是PHP,而是在Apache配置中:
指定的超时已过期:ap_content_length_filter:apr_bucket_read()失败

不得不增加Apache超时,以防止此错误使我看起来像我的脚本超时.在Apache中启用KeepAlive也有助于一劳永逸地解决问题.

希望这有助于某人并感谢所有人的帮助!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读