私的メモ
ブラウザーを立ち上げなおしてから一回目の実行時にのみ、以下の現象が再現される
・phpページ1でユーザー定義のオブジェクトをserializeする
・phpページ2で、
・それをunserializeする
・unserializeされたオブジェクトのメソッドをコールして一部のメンバ変数が変更される
・オブジェクトのメンバ変数を参照しようとすると、phpページ2が頭から再実行される
・phpページ2は、以上の挙動をするまでの間、html出力はおこなっていない
バグなのか仕様なのかわからないが、html出力をおこなっていなければphpページ2は頭から再実行しても問題ないだろうとphp側が思っている節があるので、以下の修正にてとりあえず回避。
・phpページ2において、unserializeされたオブジェクトのメンバ変数を参照する前にダミー的なhtml出力をおこなう
phpのバージョンは5.1.6。
追記
htmlの出力をおこなってもページの再実行がおこなわれるケースあり。session_startが含まれる関数のコードの宣言をクラスの宣言が行われるコードの後に置くと、今のところ再現せず。前も今もsession_startの実行自体はクラス宣言の後なのに、不可解。