PHP发送http响应GZIP大文件

时间:2015-08-13 14:45:49

标签: php http httpresponse

我正在尝试将一个简单的MOCK http响应设置为PHP脚本。 因此我有这个代码:

<?php
$filename = "output.txt.gz";
$filesize = filesize($filename);
//ignore the next 3 lines
$handle = fopen($filename, "r");
$contents = fread($handle, $filesize);
fclose($handle);
header("HTTP/1.1 200 OK");
header("Content-Encoding: gzip");
header("Content-Type: text/xml;charset=UTF-8");
header('Content-Length: '.$filesize);
header("location: ".$filename);
?>

如果我用小数据(1mb)触发脚本它可以正常工作,但对于像80mb这样的大量内容它不会!

出了什么问题以及如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

不是最佳解决方案,但尝试将此行放在代码的开头

ini_set('memory_limit','512M');

修改

你好像有问题, 添加此行:

set_time_limit(0);

重要: set_time_limit(0)会将执行时间设置为无限制,建议不要这样做,但看看它是否解决了您的问题以及是否尝试优化超时