[PHP-users 6113] 4.0.6と4.1.2のsessionの扱いの違いについて

S.Okazaki php-users@php.gr.jp
Wed, 13 Mar 2002 14:43:38 +0900


いつもお世話になります。岡崎です。

4.1.2と4.0.6が動いているマシンがあります。
その二つで全く同じプログラムを動かしたときに、
4.1.2だと動かないプログラムがあります。

実際のコードは長いので、簡略ですが、

File1 ログを取るクラスファイル
class about_log {
    メンバ変数を記述
    function hoge() {
    }
    function fuga() {
    }
}

File2 継承先
class mylog extends about_log {                                                                      //
    オーバーライド
}                                                                                                    //
$l=new mylog;
session_register("l");

その時4.0.6と4.1.2のマシンのsessionfile(/tmp/ses_*****と言うファイル)
を調べてみると、4.0.6の場合は、File1で指定した全てのメンバ変数が登録
されていましたが、4.1.2の場合は、File2でオーバーライドした変数しか
登録されていませんでした。

更にプログラム、

$l->hoge();

の用に実行すると、4.0.6の場合は、問題なく動作しますが、
4.1.2の場合は
Fatal error: Call to undefined function: hoge() in ・・・
と、未定義関数と見なされてしまいます。

この辺り、何か扱い方が違うのでしょうか?
よろしくお願いいたします。

/_/_/_/_/_/_/_/_/_/_/_/_/_/
Japan Human Base 
Sotaro Okazaki
Email : okazaki@jp-hb.com
/_/_/_/_/_/_/_/_/_/_/_/_/_/