ファイルを読みこんで処理して出力するという流れで ファイルのダウンロードを行うページをつくったが、一定サイズ以上のファイルをダウンロードできない
ログを見ると、メモリが確保できませんでしたというエラーが。
Allowed memory size of 8388608 bytes exhausted (tried to allocate 10240 bytes)
ソースをコピーして実験したところ動作してしまったので、環境依存ということで php.ini を比較。
どうも出力をバッファリングしているのが問題っぽい。
output_buffering = On
を無効化すればOKのはずだが、ini_set()では変更不可能。
あと、iniファイルはいじれない(いじりたくない)とのことなので
出力前に ob_end_clean() を呼んで出力バッファリングをオフにさして解決。