[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 メーリングリストの案内