[PHP-users 25883] Re: ファイルの出力中にメモリフロー
Yasuo Ohgaki
yohgaki @ ohgaki.net
2005年 6月 23日 (木) 10:24:50 JST
大垣です。
Yasuo Ohgaki wrote:
> ところでPHP_4_4のソースを読むと出力バッファが有効でMMAPがあるシステムの場合、
> どうがんばってもphp_stream_passthruを呼び出すと大きなファイルを出力すると
> メモリを大量に使います。
>
> PHP4を使っている場合、上記のバグは無関係なのでこちらが原因かもしれません。
> これが原因ならPHPをビルドする際にHAVE_MMAPが定義されないようにしてビルドする
> と出力できるようになると思います。
>
> PHP_4_4ブランチのソースを見て書いており、修正を全部覚えている訳ではないので
> 正確には使用中のPHPで確認してください。はmain/stream.cの_php_stream_passthru
> 関数のコードを見ると直ぐに分かります。
PHPにパッチをあてたりビルドできない環境も多いと思います。
一番簡単かつポータブルな方法はfreadで少しずつ読む方法です。
しかし、Memory Mapped IOを使って全部読むとストリームや出力バッファ
で問題になる事くらい分かってからMMAPを使って欲しいですね...
--
Yasuo Ohgaki
PHP-users メーリングリストの案内