Ö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é.
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: