- PR -

PHP実行時のnon-existentclassのエラーについて。

1
投稿者投稿内容
proper
会議室デビュー日: 2005/12/05
投稿数: 17
投稿日時: 2005-12-05 16:17
Apache/1.3.33 (Unix) PHP/4.3.9でのエラーに関してご質問させてください。
OSはRedhat9です。

一般的な質問になってしまいますが
Apacheを起動後Webよりindex.phpを起動すると
Cannot instantiate non-existentclassとApacheのerror_logに書込みされてい
ます。

このエラーは何を意味するものなのでしょうか?
かしこみ
会議室デビュー日: 2005/04/14
投稿数: 9
投稿日時: 2005-12-05 17:14
クラス定義をしていないからでは、ないでしょうか?
コード:
//class aaa {
//  var $abc;
//}


$b = new aaa();


このコードではエラーがでます。
コメントを解除すると、エラーがでません。

proper
会議室デビュー日: 2005/12/05
投稿数: 17
投稿日時: 2005-12-13 10:47
かしこみ様。ご教授ありがとうございます。
実際にエラーが発生した箇所ですが

function page_open($feature) {
global $_PHPLIB;

# enable sess and all dependent features.
if (isset($feature["sess"])) {
global $sess;
$sess = new $feature["sess"];
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ここの行です。

この行の前でクラス定義をすれば宜しいのでしょうか?


かしこみ
会議室デビュー日: 2005/04/14
投稿数: 9
投稿日時: 2005-12-13 15:06
page_openってphplibなんですか。私は使用したことがありませんけど、
ちょっとみてみました。

クラスは、local.incで設定されています。
クラスの定義やライブラリは、prepend.phpで一括ロードしています。


なので、先頭に
require_once("prepend.php");
を記述すれば、page_open関数が問題なく使用できると思いますが。

(サンプル例)
コード:
<?php
  require_once("prepend.php");

  page_open(array("sess" => "Example_Session"));
  $sess->register("count");
  $count++;
  print "あなたがこのページに来たのは、$count 回目です。";
  page_close();
?>


1

スキルアップ/キャリアアップ(JOB@IT)