質問: 【PHP】PHP5.2を使用したWebシステムで、1GBのファイルをアップロードしたいと考えています。 PHPマニュアルの記述のとおりに考えると、 memory_limit ≧ post_max_size ≧ upload_max_filesize の関係である必要があるようです。(一般的に) ところが、サーバのRAMが512MBしかありません。 1.memory_limitを有効にする場合、memory_limitに512MBよりも大きい数字を設定してもよいものなのでしょうか。(スワップありきの設定?) 2.memory_limitはpost_max_sizeよりも小さな値でも大丈夫なのでしょうか。 3.そもそも、RAMが512MBのサーバでPHPを利用して1GBのファイルをアップロードするのは難しいのでしょうか。(タイムアウトは長く設定するとして...) これらについて、どれか1つでも構いませんので、出来る限り情報のソース付きでご教示いただけたらと思います。 よろしくお願いいたします。
回答: 1.仮想メモリがなんとかしてくれますが、1GBを4人が一斉にアップロードしたりすると、4GB分のメモリが使われてかなり不安定になります (ECC付きメモリを使うと落ちにくくなりました) 2.動く場合と動かない場合がありました(linux系OSだと比較的安定)、memory_limit ≧ post_max_sizeにしたがったほうが無難そう (memory_limit = -1で使用メモリ無制限) 3.かなり無謀です、サーバが市内にあっても失敗率高かったです、コメントのFTPにするなり、分割して上げてもらうなりするのが無難です