我有一个对 somefile.php 的 ajax 调用。我希望 php 脚本执行一个简单的任务,而不是将数据发回给用户,而不是执行非常耗时的任务。所以我需要在第一个简单任务后刷新输出。它不起作用,可能是因为我启用了 gzip。
我绝对不想在所有虚拟主机上禁用 gzip,也不想在 somefile.php 所在的所有文件夹中禁用 gzip。我只想为这个特定文件禁用它。这可能吗?
编辑:
这是我在我的 apache conf 中包含的内容:
<FilesMatch \.php$>
SetEnv no-gzip 1
</FilesMatch>
这是我的 php 脚本:
<?php
$sucesss = @apache_setenv('no-gzip', 1);
@ini_set('zlib.output_compression', 0);
@ini_set('implicit_flush', 1);
ob_start();
for($i=0;$i<10;$i++)
{
echo 'printing...';
ob_flush();
flush();
sleep(1);
}
?>
这是行不通的。 10 秒后我仍然看到所有输出。
最佳答案
我一直在寻找同一问题的解决方案。这对我有用,但不幸的是,它似乎不是一个有效的 header 。
<?
header("Content-Encoding: none");
?>
关于php - 对于 php flush - 如何禁用特定文件的 gzip?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10267061/