Összefoglaló

A következő hibát kapom, amikor megpróbálok új Craft webhelyet helyileg telepíteni:

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

Miután letöltöttem a ZIP-t, feltételezem a Craft szóban forgó verziója a legújabb az írás időpontjában (2.1.2563).

Meghibásodás

Némi ásás után úgy tűnik, hogy a hibát a 59. sor okozza craft/app/etc/behaviors/AppBehavior.php, nevezetesen a craft()->db->tableExists() címre küldött hívás:

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

Ha ez valóban így van, ez azt jelenti, hogy az előző craft()->getComponent("db") és craft()->getIsDbConnectionValid() ellenőrzések áthaladnak, ami engem teljesen zavarba hoz, hogy mi okozza a hiba.

Környezetvédelmi információk

A webhely (nem) egy helyi Vagrant virtuális gépen fut, amely boldogan fogad egy másik Craft webhelyet gond nélkül. Talán érdemes megjegyezni, hogy Nem insta A másik webhelyet a semmiből fogom feltölteni ezen a szerveren.

Az alap szerver specifikációi a következők:

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

Az adatbázis mindenképpen létezik, és a Sequel Pro segítségével csatlakozhatok hozzá.

Van bárki még belefut ebbe?

Megjegyzések

  • Olvastad ezt a beszélgetést?
  • tettem. A G + webhely kifejezetten javasolja az SE használatát, amikor segítséget kérek, és ' nem küldhetek hibajelentést a CP-n keresztül, mivel (még) nincs CP. Ezenkívül ' nem javaslom, hogy ez a Craft hibája lenne (ha az lenne, akkor mások kétségtelenül találkoztak volna mára, és P & T valószínűleg percek alatt kijavította volna), ezért az SE tűnt a legmegfelelőbb fórumnak a megbeszéléshez.
  • Ez nem ' ennyire válasz, mint mea culpa. Miután teljesen megsemmisítette a virtuális gépet, és a semmiből kezdte (pontosan ugyanezzel a kiépítéssel), a probléma megoldódott. <

még mindig értetlen vagyok, hogy miért történt ez, főleg, hogy a virtuális gép konfigurációjában semmi sem változott, de egyelőre boldogan fogom fogadni ezt a titokzatos megoldást. Ha valaha is rájövök a probléma kiváltó okára, ' aktuális választ teszek közzé.

  • @StephenLewis I ' d folytassa, és mindenképpen válaszként tegye ezt közzé, az esély esetén ez megoldja a helyzetet valaki más számára. Ha valaha talál egy " megfelelő " megoldást, mindig szerkesztheti.
  • @BradBell eredetileg megpróbáltam , de az SE ragaszkodott hozzá, hogy további 8 órát várjak, aztán az a bosszantó Ben Parizek ellopta mennydörgésemet. <
  • elfogadtam a válaszát.

    Válasz

    Míg ez nem lehet kielégítő válasz, a befejezés érdekében ezt a kérdést úgy oldották meg, hogy teljesen megsemmisítették és újjáépítették ugyanazt a virtuális gépet.

    Rövid beszélgetés a Twitteren itt:

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

    Melegen szeretem az on / off technikát. Még láttam, hogy javítják a lifteket!

    Megjegyzések

    • Amit Ben mondott …

    Válasz

    Láttam néhány véletlenszerű hibát a Craft és a Vagrant használatakor, ami miatt diót éreztem magam a hibaelhárítás után. Ugyanarra a következtetésre jutottam, mint te, elpusztítva úgy tűnt, hogy a gép és az újjáépítés megoldotta a problémát, de nem adták meg a választ, úgy éreztem, tartozom.

    Szóval ástam …

    Megtaláltam a tettest hogy a Vagrant szinkronizáló funkciója legyen. Akkor, amikor a Vagrant először megjelent a színen, az egyik fő kérdés a mappák szinkronizálása volt sok fájllal és könyvtárral, más néven CMS-sel. Nem találom a közvetlen linket, de úgy gondolom, hogy néhány embernek problémái merültek fel a virtuális dobozos vendég-kiegészítő eszközökkel.

    Nem állítom, hogy a csavargó géped valóban régi, ez általában nem így van. Azt mondom azonban, hogy néha – nem tudom biztosan, mikor és miért – a szinkronizálási funkció megsértheti, vagy akár nem is szinkronizálja a könyvtárakat / fájlokat.

    Ha újra belefutna, biztosan megismerném a fájlokat kérdés a vendéglátó és vendéggépen. Különösen láthatatlan karaktereket keres.

    Érdemes megjegyezni, de nulla tapasztalatom van ezzel kapcsolatban. A Vagrant lehetővé teszi a VMWare használatát szolgáltatóként, amely jobb teljesítményre hivatkozik. Az egyik hátrány az, hogy 79 dollárba kerül egy licenc – de a Vagrant jövőbeli fejlesztésének finanszírozására is szolgál. A VMWare-szolgáltató részletei itt találhatók:

    https://www.vagrantup.com/vmware

    Vélemény, hozzászólás?

    Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük