[PHP-dev 237] Session & Output control patch

Yasuo Ohgaki php-dev@php.gr.jp
Thu, 14 Feb 2002 11:52:24 +0900


This is a multi-part message in MIME format.
--------------040006000805040509040007
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit

大垣です。

セッションのパッチは前にも投稿しましたが、Output Controlの
パッチも作りました。私がテストした限りでは、パッチにバグがある
様な結果はでてきていません。

そろそろコミットしようと思っているのですが、もしパッチにバグ
見つけた方またはセッション/出力制御のバグでどうしても困って
いる方はご連絡ください。

使い方の例:
http://snaps.php.net/ からCVSスナップショットをダウンロード
して解凍する。

cd <PHP4 CVS snapshot source root>
gunzip php.diff.gz
patch -p0 < php.diff
make distclean
./configure <options>
make
make install

主な変更点:
 OUTPUT CONTROL
 - ob_get_status()の追加。現在またはすべてのバッファーの
   状態が取得できます。
 - zlib output conpressionの削除を防止。このバッファー使用後
   に削除するとtransfer encodingが壊れるため正しく動作しないうえ
   segfaultする場合があるのを修正
 - 壊れたob_implicit_flush()の修正。バッファーを壊す事はなくなった
   が、implicit flushの実装はnested output bufferに合わせて実装
   しなおす必要がある。(implicit flushは動作しません)
 - ob_*()に対して不正なパラメータを渡した場合にエラーを出力。

 SESSION
 - いろいろなsegfaultの修正。既知のsegfaultではserializer関連以外
   ではsegfaultしません。
 - mm save handlerの不具合。
 - session_()*を不正な使い方をした場合にエラーを出力。
     (例:register_globals=offでsession_registerなどを利用するのは意
          味がない上、正しく動作しません)
 詳しいSessionモジュールの変更点はphp-dev@php.gr.jpのアーカイブを参照
 してください。

-- 
Yasuo Ohgaki
yohgaki@dd.iij4u.or.jp

--------------040006000805040509040007
Content-Type: application/x-gzip;
 name="php.diff.gz"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="php.diff.gz"

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
--------------040006000805040509040007--

__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!  http://bb.yahoo.co.jp/