セッション絡みのエラー
とある既存システムの改修作業をしていて、こんなエラーメッセージに出会った。
Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0
これはどうもセッションへ変数とグローバル変数絡みのエラーのように見受けられる。「セッション機能はregister_globalsをonにしない限り、グローバル変数をデータのソースとして認識しません」。意味がよくわかんない。
まぁ、文章から判断して「register_globals」をonに設定するか、「session.bug_compat_42」か「session.bug_compat_warn」をoffにするか、で対応できる模様。
(1)「register_globals」をon
動作した
(2)「session.bug_compat_42」をoff
動作した
(3)「session.bug_compat_warn」をoff
動作しなかった
それぞれをhtaccessファイルで設定してみたら、上記のような結果になった。ということで(2)を採用した。
これって結局はPHPのバグということなのかな。