2017-02-16 2 views
0

WindowsでPHPを使用してApache2 Webサーバーを設定しようとしています。私はEasyPHPパッケージを使って必要なサーバーをインストールしています。より大きなファイルをダウンロード用にホストしたい限り、すべてうまく動作します。大規模な私は34Mを意味します。そのようなファイルをダウンロードしようとすると、要求がタイムアウトします。私が同じファイル名でより小さなファイルをダウンロードしようとすると、動作します。何が原因か分かりません。私はサーバー上のファイルに直接アクセスしようとしますが、いくつかのPHPコードを取得しようとすると失敗します。 私はLimitRequestBodyをhttpd.confで0に設定しましたが、これに影響する可能性のあるオプションは見つかりませんでした。WindowsのApache2で大きなファイル(> 34M)のダウンロードに失敗する

EDIT:PHPを使用しないとダウンロードが失敗し、直接リンクでファイルをダウンロードしようとしています。だから私は本当にそれがPHPに関連する問題ではなく、むしろApacheになると思っています。

ご協力いただければ幸いです。

答えて

0

私はここで、このための答えが見つかりました: https://serverfault.com/questions/115906/is-there-some-limit-on-a-size-of-a-file-when-force-downloading-it-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); 
} 
?> 
0

私はこれを信用したいと思いますが、それは何度も尋ねられ、答えられました。 How to increase maximum execution time in php

この回答が役に立つとわかりました。

+0

ありがとうございますが、動作しません。 max_execution_timeに高い値を設定しても、私はいつもファイルをダウンロードできません。それはダウンロードが中断されたものではありませんが、34Mを超えるファイルをダウンロードしようとすると、ブラウザに「接続がリセットされました」というメッセージが表示され、ダウンロードを開始できません。 –

+0

私は "duplicate posts"セットに記載されているものもすべて持っていますが、まだこの問題があります。 –

関連する問題