在脚本PHP输出缓冲区设置被服务器忽略
我一直在尝试按需将某些脚本的输出刷新到浏览器,但它们不能在我们的制作服务器上运行.
例如,我尝试运行“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文件,如果这将有所帮助: 这不是我们在服务器忽略脚本指令时遇到的唯一问题.服务器还忽略超时编码,例如: 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配置中: 不得不增加Apache超时,以防止此错误使我看起来像我的脚本超时.在Apache中启用KeepAlive也有助于一劳永逸地解决问题. 希望这有助于某人并感谢所有人的帮助! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |