Windows 上的 Apache2 无法下载大文件 (>34M)



我正在尝试设置Windows上使用PHP的Apache2 Web服务器。我正在使用EasyPhp软件包安装所需的服务器。只要我想托管较大的文件供下载,一切都可以正常工作。总的来说,我的意思是34m。当我尝试下载这样的文件时,请求会耗尽。如果我尝试下载具有相同文件名的较小文件,则可以正常工作。我不知道是什么原因引起的。我尝试直接在服务器上访问文件,但是如果我尝试使用一些PHP代码获取,也会失败。我将限制为httpd.conf中的限制设置为0,我找不到任何可能对此有影响的选项。

编辑:当不使用PHP时,下载失败,我正在尝试使用直接链接下载该文件。因此,我真的不认为这是与PHP有关的问题,而是与Apache有关的问题。

任何帮助将不胜感激。

我想对此表示赞赏,但已被问到并回答了很多次。如何增加PHP中的最大执行时间

如果您发现此答案有用,则标记为答案。

我在这里找到了答案:https://serverfault.com/questions/115906/is-some-limit-on-a-a-size-of-a-file-file-when-force-downloading-itloading-it-it-it-it-with-with-php-on-ap

内存限制无济于事,但是使用ReadFile_Chunked函数可行!也从这里也谢谢你!

<?php 
function readfile_chunked ($filename) { 
  $chunksize = 1*(1024*1024); // how many bytes per chunk 
  $buffer = ''; 
  $handle = fopen($filename, 'rb'); 
  if ($handle === false) { 
    return false; 
  } 
  while (!feof($handle)) { 
    $buffer = fread($handle, $chunksize); 
    print $buffer; 
  } 
  return fclose($handle); 
} 
?>

最新更新