[PHP-users 24739] DB_DataObject、createTables.phpでエラー
oppara
mlml @ oppara.tv
2005年 2月 27日 (日) 18:27:39 JST
こんにちは、大原と申します。
環境
mac os10.3.8
php 4.3.10
(www.entropy.chにあるパッケージを使用してインストールしました)
DB 1.6.8
DB_DataObject 1.7.2
まるごとphpを参考にして、DB_DataObjectの練習をしています。
システムとは別にpearをインストールしました。
DBの設定ファイルを用意して、createTables.phpを実行すると
以下のエラーがでて、テーブル毎のクラスが作成されません。
対処方法があれば、教えてください。よろしくお願いします。
--以下出力結果(改行してます)
$ php -Cq -d "include_path=/marugoto/share/pear"
/marugoto/share/pear/DB/DataObject/createTables.php
/marugoto/data/db_dataobject/auth.ini
db_dataobject_generator : 0 : CREATING FOR dbdo
db_dataobject_generator : 0 : calling generatedefinitions
PHP Fatal error: Call to a member function on a non-object
in /usr/local/php/lib/php/DB/DataObject/Generator.php on line 132
Fatal error: Call to a member function on a non-object
in /usr/local/php/lib/php/DB/DataObject/Generator.php on line 132
--ここまで
調べてみると、DB_DataObject_Generatorの124行めあたりの
$t->_createTableList();
を実行後、$tがオブジェクトでなくなっているようで、131行めあたりの
$t->$method();
で、non-objectと怒られているようです。
DB_DataObject_Generatorに追記
$t->_database = $databasename;
$debug = get_class( $t );echo( "DEBUG -- \$t = $debug:$t\n" );//DEBUG
$t->_createTableList();
$debug = get_class( $t );echo( "DEBUG -- \$t = $debug:$t\n" );//DEBUG
--以下出力
db_dataobject_generator : 0 : CREATING FOR dbdo
DEBUG -- $t = db_dataobject_generator:Object
DEBUG -- $t =
db_dataobject_generator : 0 : calling generatedefinitions
PHP Fatal error: Call to a member function on a non-object
in
/Users/oppara/Sites/omni/shake/share/pear/DB/DataObject/Generator.php
on line 139
Fatal error: Call to a member function on a non-object
in
/Users/oppara/Sites/omni/shake/share/pear/DB/DataObject/Generator.php
on line 139
--ここまで
_createTableList()を調べてみましたが、
print_r($this->tables);とすると、auth.iniのdatabaseで設定した
DBのテーブル名が入っていたのでDBには接続できているようです。
PHP-users メーリングリストの案内