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

S.Okazaki php-users@php.gr.jp
Thu, 14 Mar 2002 10:57:34 +0900


おはようございます。岡崎です。
下岡様、レスありがとうございます。

> get_class($l)したときに、mylogが返ってきますか?

はい、4.1.2でも、mylogが返ってきます。
また、get_parent_log()を使用すれば、問題なく
about_log(親クラスの名前)も問題なく返ってきます。


> セッション関連では、register_globalsがOffの時のセッション変数
> 名が違いますね。
> ちなみに、register_globalsをOnにしても、両バージョンで正しく
> 動作しました。

私の方の環境がおかしいのではと思っておりますが、原因が分かりません。

TurboLinux 7.0 Server RC4.2
PHP4.1.2
Apache1.3.23
PostgreSQL7.2
その他グラフィック系(pdflib,libpng,gd等)と
apc , mbregexをインストールしています。

再び簡単なサンプルを作って検証してみましたが、
結果は同様、undefined function でした。

■fuga.php
<?php
include("hoge.inc");
class myhoge extends hoge {
}
$h=new myhoge;
session_register("h");
$h->hogee();
?>

■hoge.inc
<?php
class hoge {
    var $a="hoge";
    function hogee() {
        print $this->a;
    }
}
?>

このコードすら動きません。
もっと詳しく症状を書くと、
まず、hoge.incに、何らかの変更
(それこそどうでもいいスペースを入れる等、取りあえず
 何でも構いません)
を行い、ブラウザをリロードすると、その時
だけは、きちんと動きます。
しかし、そのまま再びリロードをすと、
Fatal error: Call to undefined function: hogee()
と、なってしまいます。

また、私の言語能力では伝えることが難しいのですが、
この症状は、最初からではなく、突然なりました。
もっと具体的に言えば、この症状がでだす前に、作ったクラスは
ちゃんと動くのです(^^;
(それ以降に作ったクラスは上記を含め、どんな簡単なものでも動きません)
正常→異常の間に、php.ini やサーバー設定などは何もいじって
いません。
コードを書いている内に突然なると言う不思議な現象です。
実はこの症状は2回目で、以前はサーバーをOSから再インストール
すると、正常になりました。
しかし、突然そう言う風な現象になる原因は全く分かりません。

もはや、ハードウェアを含め何らかの相性が悪いのでは?
と考えていますが・・・

同じような体験をされて方はいらっしゃらないでしょうか?


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