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 |
|---|
|
こんばんは。
次のエラーは、インストール時、データベースの設定に失敗している場合に表示されます。 もう少しサーバーまわりの情報をください。 ■ BaserCMSのバージョン: ■ レンタルサーバー名: ■ スマートURLの利用:ON / OFF ■ 設置フォルダ:ドキュメントルート / サブフォルダ ■ 利用しているデータベース:CSV / SQLite / MySQL / PostgreSQL ≫ インストール失敗時の対処 Twitter:@ryuring |
| ryuring > Re: STEP4に進めません @ 2010/8/16 22:51 |
|---|
|
ちなみに。
引用: このメッセージは『dbo_source.php』に『connect()』というメソッドが存在しないといことでしょうか? そうです。 データベースの設定が正常に成功していると、DboSource クラスを継承し、connectメソッドを保有するDBドライバークラス(DboMySQL等)に対し、connectメソッド実行するのですが、失敗しているとDBドライバークラスではなく、connectメソッドを持たないDboSourceクラスに対しconnectメソッドを実行してまうのが原因です。 Twitter:@ryuring |
| 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 |
| 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 |
| 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 |
| ohshrs > Re: STEP4に進めません @ 2010/8/18 15:16 |
|---|
|
こんにちは。
引用: インストール前にあらかじめ次のフォルダを用意し、全てのフォルダに書込権限を与えてください。 私の方もこれでインストール完了までたどり着きました。一応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の状態で、書込権限を与えられていなかったというのが気になりますね。 何か心当たりがあればよろしくお願いします。 引用: 以下、余談ですが... インストール完了後、/app/config/install.php は存在しますか? スマートURL ONの場合、install.phpに記述されている、「App.baseUrl」の設定値が空になっている必要があります。 それが正常の場合、.htaccess の RewriteBase の設定の可能性が強いです。 Twitter:@ryuring |
| 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さん、ご報告ありがとうございます。
この件について、インストーラーのスマートURLの部分に明記しておいた方がよさそうですね。 引用: 今後、サイト構築、運用を続けていく中で、BaserCMSユーザーのコミュニティが益々活発になる様、及ばずながらお力添えできたら、と思います。 ありがとうございます!ものすごく心強いです! 近々、開発コミッターも募集をかけていきたいと思います。 みんなでいいCMSに仕上げていければ本望です。 今後ともよろしくお願いします。 Twitter:@ryuring |
| 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 |
| T.O.S > Re: STEP4に進めません @ 2010/8/29 19:18 |
|---|
|
回答していただき、ありがとうございます。
引用:
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 |
| ryuring > Re: STEP4に進めません @ 2010/8/30 0:57 |
|---|
|
ちなみにインストール時に次のシーケンスが作成されます。
Twitter:@ryuring |
| T.O.S > Re: STEP4に進めません @ 2010/8/30 20:58 |
|---|
|
> ryuringさん
回答ありがとうございます。 ryuringさんのおっしゃるように、1度完全にインストールし直してみます。 色々と質問に答えてくださってありがとうございました。 また、お世話になるかもしれませんが、その時はよろしくお願いいたします。 |


