[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");
としていますが、これもまずいのでしょうか?
スレッドも探し、色々と試してはみたのですが行き詰まりました。
知恵を借していただけないでしょうか?
干潟