Yhteenveto

Saan seuraavan virheen yrittäessäni asentaa uutta Craft-sivustoa paikallisesti:

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_%" 

Kun olet juuri ladannut ZIP-tiedoston, oletan kyseinen Craft-versio on viimeisin kirjoitushetkellä (2.1.2563).

Vikakohta

Jonkin kaivamisen jälkeen virhe näyttää johtuvan rivistä 59 sisään craft/app/etc/behaviors/AppBehavior.php, erityisesti kutsu craft()->db->tableExists():

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

Jos Näin on todellakin, se tarkoittaa, että edelliset craft()->getComponent("db") ja craft()->getIsDbConnectionValid() tarkastukset ovat ohi, mikä jättää minut täysin hämmentyneeksi siitä, mikä aiheuttaa virhe.

Ympäristötiedot

Sivusto on (ei) käynnissä paikallisessa Vagrant VM: ssä, joka isännöi mielellään toista Craft-sivustoa ilman ongelmia. Se on ehkä syytä huomata, että En insta Ll toinen sivusto alusta alkaen tällä palvelimella.

Palvelimen perustiedot ovat seuraavat:

  • Ubuntu 12.04 LTS (64-bittinen)
  • Apache 2.2.22
  • PHP 5.4.30

Tietokanta on ehdottomasti olemassa, ja voin muodostaa yhteyden siihen Sequel Prolla.

Onko ketään muuten törmäät tähän?

Kommentit

  • Oletko lukenut tämän keskustelun?
  • tein. G + -sivusto suosittelee nimenomaisesti SE: n käyttämistä apua haettaessa, enkä voi ' lähettää virheraporttia CP: n kautta, koska CP: tä ei ole (vielä). En myöskään ehdottaa ', että tämä on vika Craftissa (jos se olisi, muut epäilemättä olisivat jo kohdanneet sen, ja P & T olisi todennäköisesti korjannut sen muutamassa minuutissa), joten SE näytti sopivimmalta keskustelupalstalta.
  • Tämä ei ole ' t niin paljon vastausta, kuin mea culpa. Tuhotut virtuaalikoneen kokonaan ja aloitettu tyhjästä (täsmälleen samalla provisioinnilla), ongelma ratkaisi itsensä. Olen ' hämmentynyt siitä, miksi näin tapahtui, varsinkin kun mikään ei ole muuttunut virtuaalikoneen kokoonpanossa, mutta hyväksyn tämän salaperäisen ratkaisun toistaiseksi. Jos joskus saan selville ongelman perimmäisen syyn, lähetän todellisen vastauksen '.
  • @StephenLewis I ' d mene eteenpäin ja lähetä se vastauksena joka tapauksessa, mahdollisuuksien mukaan se ratkaisee tilanteen jollekin muulle. Jos löydät joskus " oikean " ratkaisun, voit aina muokata sitä.
  • @BradBell yritin alun perin , mutta SE vaati, että odotan vielä 8 tuntia, ja sitten ärsyttävä Ben Parizek varasti ukkosen. Olen ' hyväksynyt hänen vastauksensa.

Vastaa

Kun se voi olla epätyydyttävä vastaus, täydentämisen vuoksi tämä kysymys ratkaistiin tuhoamalla ja rakentamalla täysin sama virtuaalikone kokonaan.

Lyhyt keskustelu Twitterissä tästä:

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

Kiitän lämpimästi päälle / pois-tekniikkaa. Olen jopa nähnyt sen korjaavan hissejä!

Kommentit

  • Mitä Ben sanoi …

vastaus

Olen nähnyt muutamia satunnaisia virheitä käytettäessä Craftia ja Vagrantia, jotka saivat minut tuntemaan oloni pähkinäiseksi vianmäärityksen jälkeen. Tulin samaan johtopäätökseen kuin sinäkin, tuhoamalla kone ja uudelleenrakentaminen näyttivät ratkaisevan ongelman, mutta eivät antaneet minulle vastausta, jonka tunsin olevani velkaa.

Joten kaivoin …

Löysin syyllisen olla Vagrantin synkronointitoiminto. Kun Vagrant tuli ensimmäisen kerran paikalle, yksi suurimmista kysymyksistä oli kansioiden synkronointi paljon tiedostoja ja hakemistoja, eli CMS: ää. En löydä suoraa linkkiä, mutta uskon, että joillakin ihmisillä oli ongelmia virtuaalilaatikon vieraanlisäystyökalujen kanssa.

En sano, että vaeltelukoneesi on todella vanha, se ei yleensä ole asia. Sanon kuitenkin, että joskus – ei ole varma milloin ja miksi – synkronointitoiminto voi vioittaa tai jopa ei synkronoida hakemistoja / tiedostoja.

Jos kohtaat tämän uudelleen, varmista, että diffioit tiedostot kysymys isäntä- ja vieraskoneesta. Etsitään erityisesti näkymättömiä hahmoja.

On myös syytä huomata, mutta minulla ei ole kokemusta tästä. Vagrant antaa sinun käyttää VMWarea palveluntarjoajana, joka väittää parempaa suorituskykyä. Yksi haittapuoli on, että se maksaa 79 dollaria lisenssiltä – mutta se myös rahoittaa Vagrantin tulevaa kehitystä. Lisätietoja VMWare-palveluntarjoajasta on täällä:

https://www.vagrantup.com/vmware

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *