[PHP-users 5714] session使用時のclass definition のエラーとは?

php-users@php.gr.jp php-users@php.gr.jp
Wed, 27 Feb 2002 17:39:41 +0900


初めて投稿させていただきます。Higataです。
よろしくお願いします。

PHP4: 4.1.1(日本語対応)でPostgreSQL: 7.2をレンタルサーバーで利用してます。
同じ環境の2つのサーバーで同じファイルを動かしたのですが、1つではちゃん
と動作し、もう1つでは、以下のようなエラーがでました。

Fatal error: The script tried to execute a method or access a property 
of an incomplete object. Please ensure that the class definition
resultpgselect of the object you are trying to operate on was loaded
_before_ the session was started 

このプログラムでは、表示用のClass、"psel.ini"をつくり、
別のファイルでrequire("../psel.ini")としてから、
class minkanPSel extends psel{
と呼び出し、以下のように初回の確認用の$directを使用して最初に$selを定義
しました。
if(!isset($direct)){
	@session_destroy();
  $selm=new minkanPSel;
}

この中のメンバを最初に呼び出す以下の部分で、
$selm->printMetaHeader();
このようなエラーが出てしまいます。

エラーの中に出てくる「resultpgselect」というのは、別のページで
使用している、同オブジェクトから作成したクラスなのですが、
こちらは
class resultpgselect extends psel{
としてから
$sel=new resultpgselect;
$sel->printMetaHeader();
と使用しているのでバッティングしているとも思えないのですが
どういうことなのでしょうか?
戻るボタンでの「ページの期限切れ」を防ぐ為に、呼び出す側で
session_cache_limiter("none");
としていますが、これもまずいのでしょうか?

スレッドも探し、色々と試してはみたのですが行き詰まりました。
知恵を借していただけないでしょうか?

干潟