- - PR -
PHPのクラスについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-04-06 14:31
宜しくお願いします。
あるWebサーバーで動いているホームページ(HTMLとPHP)を 検証のため別サーバーに移したところ セッション管理をしているPHPのページを開いた時に 下記エラーが表示されました。 Fatal error: Cannot instantiate non-existent class: hoge_session in /usr/local/lib/php/phplib/page.inc on line 18 もとのサーバーにある「hoge_session」というクラスでセッション管理の設定を していて、移した先に「hoge_session」というクラスが無いので エラーが発生したのだと思います。 (↑この考え方で間違ってないでしょうか?) なので、もとのサーバーから移した先のサーバーへ「hoge_session」クラスを コピーしてあげれば解決すると思うのですが、この方法が思いつきません。 アドバイスいただけますでしょうか。 宜しくお願い致します。 | ||||
|
投稿日時: 2006-04-06 14:43
クラス?FTPで落としてFTPであげりゃいいじゃねぇの?
| ||||
|
投稿日時: 2006-04-06 15:12
質問者です。回答ありがとうございます。
>クラス?FTPで落としてFTPであげりゃいいじゃねぇの? とのことですが、クラス?という考え方、間違ってますか? すみません、まだ勉強はじめたばかりで どのファイル?を落としてくればいいんでしょうか? 宜しくお願いします。 | ||||
|
投稿日時: 2006-04-06 15:29
セッション管理には、たぶん PHPLIB を使用されていると思いますが、移行先のサーバも設置されていますか?
/usr/local/lib/php/phplib/page.inc on line 18 で何が書かれているかやそのファイルで include されているファイルが全て揃っているか、 またパスは間違っていないか、などはどうでしょうか? ※言葉抜けを修正。 [ メッセージ編集済み 編集者: あるかな 編集日時 2006-04-06 15:29 ] | ||||
|
投稿日時: 2006-04-07 09:25
”別サーバーの/usr/local/lib/php/phplib/page.inc” ってファイルを
どうやって確かめるか? って問題ですよね。 自分で管理しているサーバーなら、質問にならないでしょうし…… 管理人に相談した方が良いのでは。 | ||||
|
投稿日時: 2006-04-07 09:44
PHPのクラスが定義されていない、つまり定義されているファイルが足りないのでしょう。 自分で書いてアップしたものの他に、サーバに仕込まれている(変な言葉ですが)ライブラリがあるのでしょう。 今回の場合はあるかな様も書かれていますが、PHPLIBというライブラリ使っているようですね。 現在はたまたまPHPLIBがないとエラーになっているようですが、もしかしたら他にもライブラリが元サーバには入っているかもしれません。 同じ環境にしたいのであれば、元サーバの管理者にPHPLIBをはじめ、どんなライブラリのどのバージョンのものが入っているか聞いて、今回のサーバにもいれるとよいでしょう。 | ||||
|
投稿日時: 2006-04-14 13:53
皆様、回答ありがとうございます&返信が遅くなりました。 質問者です。
/usr/local/lib/php/phplib/page.inc on line 18 ですが、 18行目付近はこんな感じでした。 12|function page_open($feature) { 13| global $_PHPLIB; 14| 15| # enable sess and all dependent features. 16| if (isset($feature["sess"])) { 17| global $sess; 18| $sess = new $feature["sess"]; 19| $sess->start(); そこでもとのサーバーのphplib以下のファイルを全部 (どれが該当するファイルか判断できなかったので)、 移転先のサーバーのphplib以下にコピーしてみたのですが状況は変わりませんでした。 phplib以下ではなくて、他の場所にクラスを定義しているファイルが あるのでしょうか。。。 ということで、サーバーの管理人に相談をしてみることにします。 勉強になりました! ありがとうございました。 | ||||
|
投稿日時: 2006-04-14 15:01
phplibなんて、もう何年も使って無いから外してるかもしれないけど・・・
なんか、セッションの値からクラスを復元しようとしている気がするから、session.auto.startの値を確かめてみたらどうでしょ? (つまり、クラスの定義が読み込まれる前にsessionのobjectを復元しようとした為に、クラスの定義がされてない、と警告が出るのでは無いかと。) |
1