これは結構苦労したので、ログとして残しておく。 phpでダウンロードさせる方法を調べると、ほとんどがreadfile()関数を使えと出てくる。 まあ、間違っていないんだけれども、僕の場合大容量ファイルのダウンロードでなにも考えずにreadfile関数をつかってしまい、サーバーメモリー馬鹿みたいに使用しまくるし、DiskIO負荷は10MB/s にまでなるしで、ヤバい状況になった。 事の顛末はこんな感じ、 ダウンロードさせるなら readfile関数 使え! ⇒ ほー、OK。使ってみよう。 ⇒ 実装してみた。でも20MB超えるファイルをダウンロードすると失敗するよ? ⇒ php.ini ファイルの post_max_size, upload_max_filesize, memory_limit の設定メモリを増やせ! ⇒ 分かった。全部1GBに設定してみたわ。 ⇒ お、正常にアップもダウンもで
![大容量ファイルをphpでダウンロードさせる方法](https://cdn-ak-scissors.b.st-hatena.com/image/square/865a08f4c45dd3ac5aaa3bb6adb6c1d4b4705a58/height=288;version=1;width=512/https%3A%2F%2Fevery-rating.com%2Fassets_c%2F2016%2F05%2Fimage-20160510065450-thumb-750xauto-198.jpg)