揮発性のメモ2

http://d.hatena.ne.jp/iww/

出力のバッファリングの解除

ファイルを読みこんで処理して出力するという流れで ファイルのダウンロードを行うページをつくったが、一定サイズ以上のファイルをダウンロードできない



ログを見ると、メモリが確保できませんでしたというエラーが。

Allowed memory size of 8388608 bytes exhausted (tried to allocate 10240 bytes)

ソースをコピーして実験したところ動作してしまったので、環境依存ということで php.ini を比較。
どうも出力をバッファリングしているのが問題っぽい。

output_buffering = On

を無効化すればOKのはずだが、ini_set()では変更不可能。
あと、iniファイルはいじれない(いじりたくない)とのことなので
出力前に ob_end_clean() を呼んで出力バッファリングをオフにさして解決。