概要

新しいCraftサイトをローカルにインストールしようとすると、次のエラーが発生します。

CDbCommand failed to execute the SQL statement: SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected. The SQL statement executed was: SHOW TABLES LIKE "craft_%" 

ZIPをダウンロードしたばかりなので、問題のCraftのバージョンは、執筆時点で最新のものです(2.1.2563)。

障害点

少し掘り下げた後、エラーはの59行目が原因であるようです。 craft/app/etc/behaviors/AppBehavior.php、具体的にはcraft()->db->tableExists()への呼び出し:

$this->_isInstalled = (craft()->isConsole() || craft()->db->tableExists("info", false)); 

Ifそれは確かに事実です。これは、前述のcraft()->getComponent("db")およびcraft()->getIsDbConnectionValid()チェックに合格していることを意味します。これにより、原因について完全に困惑します。エラー。

環境情報

このサイトは、問題なく別のCraftサイトを問題なくホストしているローカルのVagrant VMで実行されています(実行されていません)。おそらく注目に値します。私はインストールしませんでしたこのサーバーで他のサイトを最初から作成します。

基本的なサーバーの仕様は次のとおりです。

  • Ubuntu 12.04 LTS(64ビット)
  • Apache 2.2.22
  • PHP 5.4.30

データベースは確実に存在し、SequelProを使用して接続できます。

誰もがいます他にこれに遭遇しますか?

コメント

  • このディスカッションを読んだことがありますか?
  • やりました。 G +サイトでは、ヘルプを求めるときにSEを使用することを明示的に推奨しています。また、CPがないため、' CP経由でバグレポートを送信することはできません。また、私は'これがCraftのバグであることを示唆していません(もしそうなら、他の人は間違いなく今までにそれに遭遇したでしょう、そしてP & Tはおそらく数分で修正されたでしょう)、SEは議論に最も適切なフォーラムのようでした。
  • これは'あまり答えではありません。 meaculpaとして。 VMを完全に破棄し、最初から(まったく同じプロビジョニングで)開始した後、問題は自然に解決しました。 'これが発生した理由については、特にVM構成に関して何も変更されていないため、まだ困惑していますが、今のところ、この不思議な解決策を喜んで受け入れます。問題の根本原因がわかった場合は、'実際の回答を投稿します。
  • @StephenLewis I ' d先に進んで、とにかく答えとしてそれを投稿します。偶然に、他の誰かの状況を解決します。 "適切な"ソリューションを見つけた場合は、いつでも編集できます。
  • @BradBell最初に試しました、しかしSEは私がさらに8時間待つと主張し、それからその厄介なベン・パリゼクが私の雷を盗んだ。私は'彼の答えを受け入れました。

答え

満足のいく答えではないかもしれません。完全を期すために、この質問はまったく同じVMを完全に破棄して再構築することで解決しました。

Twitterでの短い議論:

https://twitter.com/monooso/status/487831027327696896

オン/オフのテクニックに心からの愛情を持っています。私はそれがエレベーターを修理するのを見たことがあります!

コメント

  • ベンが言ったこと…

回答

CraftとVagrantを使用しているときに、トラブルシューティング後に不快感を覚えるランダムなエラーがいくつか見られました。あなたと同じ結論に達し、破壊しました。マシンと再構築は問題を解決したように見えましたが、「私が借りていると感じた答えはまったく得られませんでした。

それで私はいくつか掘り下げました…

私は犯人を見つけましたVagrantの同期機能になります。 Vagrantが最初に登場したとき、主要な問題の1つは、フォルダーを多数のファイルやディレクトリ、別名CMSと同期することでした。直接リンクは見つかりませんが、仮想ボックスのゲスト追加ツールに問題がある人がいると思います。

あなたのvagrantマシンが本当に古いと言っているわけではないので、そうではない傾向があります。ただし、同期機能が破損したり、ディレクトリ/ファイルが同期されなかったりする場合があると言っています。

これに再び遭遇した場合は、ファイルを比較してください。ホストとゲストマシンに関する質問。特に目に見えない文字を探しています。

これも注目に値しますが、私はこれについての経験がありません。 Vagrantを使用すると、パフォーマンスの向上を主張するプロバイダーとしてVMWareを使用できます。 1つの欠点は、ライセンスに79ドルかかることですが、Vagrantの将来の開発に資金を提供することにもなります。 VMWareプロバイダーの詳細は次のとおりです。

https://www.vagrantup.com/vmware

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です