質問: file_get_contentsで、200MB以下のファイルなのですが取得しようとすると、 PHP Fatal error: Allowed memory size of 〜〜〜〜〜〜 bytes exhausted 〜〜〜〜〜 と、メモリオーバーのエラーが出てしまいます。 wgetだとエラーなく完了するのですが、これは何故なのでしょうか? メモリ使用上限を上げてfile_get_contentsするのとwgetするのどちらが良いのでしょうか? wgetはファイルをダウンロードするコマンドで、file_get_contensファイルの内容を全て文字列に読み込むというPHPの関数ですが、負荷的には変わらないのでしょうか? 負荷は変わらないけれど、PHPで扱えるメモリが少ないだけなのか、分かりません。 良い方法をご教授頂けると幸いです。 よろしくお願い致します。
回答: > > wgetだとエラーなく完了するのですが、これは何故なのでしょうか? > > > php.ini にPHPが使用するメモリの上限が設定されているからです。 例えば、以下のようにメモリ上限を変更することができます。 ``` ini_set('memory_limit', '1G'); file_get_contents($url); ```