■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。
このフォーラムは閲覧専用のアーカイブです。

STEP4に進めません

T.O.S > STEP4に進めません @ 2010/8/16 21:32
はじめての投稿ですが、よろしくお願いします。

インストールのSTEP3の画面でデータベース設定を行うと『次のステップへ』というボタンが出たので、
クリックしたのですが、STEP4の画面へ遷移せず、下記のエラーメッセージが出てしまいます。

Fatal error: Call to undefined method DboSource::connect() in /var/www/html/cake/libs/model/datasources/dbo_source.php on line 97

【dbo_source.php 】

function __construct($config = null, $autoConnect = true) {
if (!isset($config['prefix'])) {
$config['prefix'] = '';
}
parent::__construct($config);
$this->fullDebug = Configure::read() > 1;
if (!$this->enabled()) {
return false;
}
if ($autoConnect) {
return $this->connect(); ←97行目です
} else {
return true;
}
}

このメッセージは『dbo_source.php』に『connect()』というメソッドが存在しないといことでしょうか?

また、この場合はどのようにすればよいのでしょうか?
ryuring > Re: STEP4に進めません @ 2010/8/16 22:37
こんばんは。

次のエラーは、インストール時、データベースの設定に失敗している場合に表示されます。

Fatal error: Call to undefined method DboSource::connect()
 in /var/www/html/cake/libs/model/datasources/dbo_source.php on line 97


もう少しサーバーまわりの情報をください。

■ BaserCMSのバージョン:
■ レンタルサーバー名:
■ スマートURLの利用:ON / OFF
■ 設置フォルダ:ドキュメントルート / サブフォルダ
■ 利用しているデータベース:CSV / SQLite / MySQL / PostgreSQL


≫ インストール失敗時の対処

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

ryuring > Re: STEP4に進めません @ 2010/8/16 22:51
ちなみに。

引用:
このメッセージは『dbo_source.php』に『connect()』というメソッドが存在しないといことでしょうか?


そうです。

データベースの設定が正常に成功していると、DboSource クラスを継承し、connectメソッドを保有するDBドライバークラス(DboMySQL等)に対し、connectメソッド実行するのですが、失敗しているとDBドライバークラスではなく、connectメソッドを持たないDboSourceクラスに対しconnectメソッドを実行してまうのが原因です。

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

ohshrs > Re: STEP4に進めません @ 2010/8/17 21:24
 元の投稿者の方とは別の者ですが、同じ現象が発生しております。

 当方の環境は...

■ BaserCMSのバージョン:1.6.0
■ レンタルサーバー名:自前のサーバー CentOS5.5(VMware server上の仮想マシン)
■ スマートURLの利用:ON
■ 設置フォルダ:サブフォルダ
■ 利用しているデータベース:CSV・MySQL両方で試してみましたが、同じ結果となっております。

 なお、BaserCMS 1.5.9 でも試してみたところ、件のエラーは発生せずに正常にインストールが完了しました。
ryuring > Re: STEP4に進めません @ 2010/8/17 22:25
こんばんは。

あと、、、

・PHPのバージョン
・PHPのセーフモード ON or OFF
・モジュール版 or CGI版

についても教えてください。

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

ryuring > Re: STEP4に進めません @ 2010/8/17 23:07
うーん、こちらの環境では全く再現できないですね。。
ステップ4のURLには切り替わってるんですよね?

おそらくステップ3からステップ4の移動の際、DBの設定情報をセッションに保存するんですが、それが失敗しているんだと思います。
ステップ4でセッション情報がないとDboSource::connect()のエラーが発生するのは確認できました。

また、1.6.0から、セッションの保存場所をPHP標準からCakePHPに変更しました。
/app/tmp/sessions フォルダは存在しますか?また、書き込み権限は与えられていますか?(777)
(インストール時に存在しなければ自動的に作成し、書込権限を与えるようになっています)
これがうまくいっていない場合、PHPがセーフモードになっている可能性があります。

もし存在し、書込権限も与えられている場合は、エラー発生によるセッション切れの可能性もあります。
これを確認するには、デバッグモードでインストールし、インストール中のエラーメッセージを表示します。

次のページを参考にデバッグモードに切り替えてインストールしてみてください。
http://basercms.net/manuals/introductions/7.html

※ デバッグモードでインストールする場合、widget関連のwarningが出てしまうのは確認できています。
これは問題ありません。

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

T.O.S > Re: STEP4に進めません @ 2010/8/18 1:42
返信が遅くなってもうしわけございません。

回答してくだってありがとうございます。

私の環境は以下の内容になります。

■ BaserCMSのバージョン:1.6.0
■ レンタルサーバー名:自前のサーバー CentOS5.4(VirtualBox上の仮想マシン)
■ スマートURLの利用:ON
■ 設置フォルダ:ドキュメントルートに展開しています。
■ 利用しているデータベース:Postgresql 8.1.21
■ PHPのバージョン 5.1.6
■ PHPのセーフモード OFF
■ モジュール版


>/app/tmp/sessions フォルダは存在しますか?また、書き込み権限は与えられていますか?(777)
>(インストール時に存在しなければ自動的に作成し、書込権限を与えるようになっています)
>これがうまくいっていない場合、PHPがセーフモードになっている可能性があります。

/app/tmp/sessions フォルダは存在していましたが、書き込み権限が与えられていませんでした。
書き込み権限を与えたところ、STEP3の画面で『データベースへの接続に成功しました。』と出たので、『次のステップへ』を押下すると
STEP4の画面に遷移することはできました。

しかし、『データベースの構築中にエラーが発生しました。』というメッセージが出ています。

ちなみにデバッグモードでエラーが表示されていました。

そのハードコピーを添付させていただきますので、ご確認お願いいたします。







ryuring > Re: STEP4に進めません @ 2010/8/18 4:33
> T.O.Sさん

ご報告ありがとうございます。
やっぱりセッションの問題だったようですね。

tmpフォルダ配下のフォルダに書込権限が与えられていないのが原因のようです。
おそらくPHPがセーフモードになっているんだと思います。
セーフモードの場合、プログラムが生成したフォルダに、プログラムから書込権限を与える事ができません。
近いうちにセーフモード用のマニュアルを作成したいと思います。

PostgreSQL関連のエラーが多数発生していますが、これは、データベースが完全に初期化できていないのが原因です。
データベースを一旦削除して作り直した方が早いです。

完全にBaserCMSもPostgreSQLも初期化できましたら、

インストール前にあらかじめ次のフォルダを用意し、全てのフォルダに書込権限を与えてください。

/app/tmp/cache/
/app/tmp/cache/models/
/app/tmp/cache/persistent/
/app/tmp/cache/views/
/app/tmp/logs/
/app/tmp/sessions/


また結果をご報告頂ければたすかります。

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

ohshrs > Re: STEP4に進めません @ 2010/8/18 15:16
 こんにちは。

引用:
インストール前にあらかじめ次のフォルダを用意し、全てのフォルダに書込権限を与えてください。

/app/tmp/cache/
/app/tmp/cache/models/
/app/tmp/cache/persistent/
/app/tmp/cache/views/
/app/tmp/logs/
/app/tmp/sessions/

 私の方もこれでインストール完了までたどり着きました。一応PHPの環境について追記しておきますと...

 ■PHPのバージョン:5.1.6
 ■safe_mode:Off
 ■モジュールとして動作(Apache2.0 Handler)

となっております。

 以下、余談ですが...
 インストールは完了したのですが、.htaccessの設定が上手くいかないのか、トップページにCSSが反映されず、トップからのリンク先URL(スマートURL前提のURLですね)もアクセスできず、となっております。
 とはいえ、これは本件とはまた別の問題だと思いますので、もう少し色々やってみて、それでもダメでしたら改めて別に投稿させて頂こうと思います。

ryuring様、ありがとうございました。
T.O.S様、便乗させて頂き、ありがとうございました。

ryuring > Re: STEP4に進めません @ 2010/8/18 15:50
結果報告ありがとうございます。

セーフモードがOFFの状態で、書込権限を与えられていなかったというのが気になりますね。
何か心当たりがあればよろしくお願いします。

引用:
 以下、余談ですが...
 インストールは完了したのですが、.htaccessの設定が上手くいかないのか、トップページにCSSが反映されず、トップからのリンク先URL(スマートURL前提のURLですね)もアクセスできず、となっております。
 とはいえ、これは本件とはまた別の問題だと思いますので、もう少し色々やってみて、それでもダメでしたら改めて別に投稿させて頂こうと思います。


インストール完了後、/app/config/install.php は存在しますか?
スマートURL ONの場合、install.phpに記述されている、「App.baseUrl」の設定値が空になっている必要があります。
Configure::write('App.baseUrl', '');


それが正常の場合、.htaccess の RewriteBase の設定の可能性が強いです。

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

ohshrs > Re: STEP4に進めません @ 2010/8/23 16:05
 こんにちは。返信がおそくなりまして申し訳ございません。

 .htaccess の件は、httpd.conf の AllowOverride が None になっていたと云う、どうしようもない凡ミスでした。

 大変お騒がせ致しました。ryuring様にはアドバイスまで頂いたのに、こんなオチで申し訳ございません。以後、気をつけて参ります。

 BaserCMS、これから本格的に利用させて頂きます。こんな凡ミスをしておいてなんですが、今後、サイト構築、運用を続けていく中で、BaserCMSユーザーのコミュニティが益々活発になる様、及ばずながらお力添えできたら、と思います。今後ともよろしくお願い致します。
ryuring > Re: STEP4に進めません @ 2010/8/23 17:04
ohshrsさん、ご報告ありがとうございます。

httpd.conf の AllowOverride が None


この件について、インストーラーのスマートURLの部分に明記しておいた方がよさそうですね。

引用:
今後、サイト構築、運用を続けていく中で、BaserCMSユーザーのコミュニティが益々活発になる様、及ばずながらお力添えできたら、と思います。


ありがとうございます!ものすごく心強いです!
近々、開発コミッターも募集をかけていきたいと思います。
みんなでいいCMSに仕上げていければ本望です。

今後ともよろしくお願いします。

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

T.O.S > Re: STEP4に進めません @ 2010/8/29 16:48
>ryuring様

返信が遅くなり、申し訳ありません。

>PostgreSQL関連のエラーが多数発生していますが、これは、データベースが完全に初期化できていないのが原因です。
>データベースを一旦削除して作り直した方が早いです。
>完全にBaserCMSもPostgreSQLも初期化できましたら、
>インストール前にあらかじめ次のフォルダを用意し、全てのフォルダに書込権限を与えてください。

ご指摘いただいたフォルダにも書き込み権限を与え、
PostgreSQLも再インストールからやり直して初期化処理をしましたが、
相変らずPostgreSQL関連のエラーが発生しました。

『/var/www/html/baser/config/sql』の「baser_postgres.sql」を「baser_postgres.sql_old」に変更してみると
エラーがほとんど発生しなくなりましたが、『データベースの構築中にエラーが発生しました』と表示されてしまいます。

なぜ、このような現象が起きるのでしょうか?

エビデンスを添付致しますので、1度ご確認いただいてもよろしいでしょうか。

よろしくお願いいたします。



ryuring > Re: STEP4に進めません @ 2010/8/29 17:03
こんにちは。

PostgreSQLの場合、オートインクリメント用にシーケンスが作成されます。

DB初期化時、そのシーケンスも初期化しないとインストール時にエラーとなります。
シーケンスの初期化はされましたか?
BaserCMSのリセット昨日が動作すれば、シーケンスも削除されるのですが、こちらは動作しないでしょうか?
http://basercms.net/manuals/introductions/7.html


引用:
『/var/www/html/baser/config/sql』の「baser_postgres.sql」を「baser_postgres.sql_old」に変更してみると


これをやってしまうと、データベースが構築できません。元に戻しておいてください。

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

T.O.S > Re: STEP4に進めません @ 2010/8/29 19:18
回答していただき、ありがとうございます。

引用:


DB初期化時、そのシーケンスも初期化しないとインストール時にエラーとなります。
シーケンスの初期化はされましたか?
BaserCMSのリセット昨日が動作すれば、シーケンスも削除されるのですが、こちらは動作しないでしょうか?
http://basercms.net/manuals/introductions/7.html



BaserCMSのリセットも行いましたが、うまく動作していないようです。

DB初期化時は『initdb -D /var/lib/pgsql/data』を行ったのですが、これだけでは
シーケンスの初期化が行われていないということでしょうか。

宜しくお願いいたします。

ryuring > Re: STEP4に進めません @ 2010/8/30 0:52
> T.O.S さん

先程、こちらの環境でPostgreSQLのインストールを試しましたが特に問題なくインストールできました。
環境的にも問題はなさそうです。

やはり完全なクリーンインストールをされた方がよいと思います。
ちなみに、最近、1.6.0 のパッケージングにミスが見つかり、差し替えられています。
一番最初のインストール失敗はこれによるものだと思います。
http://basercms.net/news/archives/67

引用:
DB初期化時は『initdb -D /var/lib/pgsql/data』を行ったのですが、これだけでは
シーケンスの初期化が行われていないということでしょうか。


これについてはわからないです。上記コマンドで実際にシーケンスが削除されるか確認した事がありません。
シーケンスが実際に存在するか確認する方がてっとり早いと思います。
コマンドでも、phpPgAdmin でもシーケンスの存在を確認する方法はあると思います。

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

ryuring > Re: STEP4に進めません @ 2010/8/30 0:57
ちなみにインストール時に次のシーケンスが作成されます。

bc__blog_categories_id_seq
bc__blog_comments_id_seq
bc__blog_configs_id_seq
bc__blog_contents_id_seq
bc__blog_posts_id_seq
bc__contact_messages_id_seq
bc__feed_configs_id_seq
bc__feed_details_id_seq
bc__mail_configs_id_seq
bc__mail_contents_id_seq
bc__mail_fields_id_seq
bc__messages_id_seq
bc_dblogs_id_seq
bc_global_menus_id_seq
bc_page_categories_id_seq
bc_pages_id_seq
bc_permissions_id_seq
bc_plugin_contents_id_seq
bc_plugins_id_seq
bc_site_configs_id_seq
bc_user_groups_id_seq
bc_users_id_seq
bc_widget_areas_id_seq

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

T.O.S > Re: STEP4に進めません @ 2010/8/30 20:58
> ryuringさん

回答ありがとうございます。

ryuringさんのおっしゃるように、1度完全にインストールし直してみます。

色々と質問に答えてくださってありがとうございました。

また、お世話になるかもしれませんが、その時はよろしくお願いいたします。