요약

새 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)); 

이 경우 이전 craft()->getComponent("db")craft()->getIsDbConnectionValid() 검사가 통과되어 원인이 무엇인지 완전히 당황하게됩니다. 오류입니다.

환경 정보

이 사이트는 문제없이 다른 Craft 사이트를 즐겁게 호스팅하는 로컬 Vagrant VM에서 실행되고 있지 않습니다. 나는 인스 타하지 않았다 이 서버의 다른 사이트를 처음부터 새로 만듭니다.

기본 서버 사양은 다음과 같습니다.

  • Ubuntu 12.04 LTS (64 비트)
  • Apache 2.2.22
  • PHP 5.4.30

데이터베이스는 확실히 존재하며 Sequel Pro를 사용하여 연결할 수 있습니다.

누구나 있습니다. 다른 문제가 있습니까?

댓글

  • 토론을 읽었습니까?
  • 그렇습니다. G + 사이트는 도움을 구할 때 SE 사용을 명시 적으로 권장하며, CP가 없기 때문에 ' CP를 통해 버그 보고서를 제출할 수 없습니다 (아직). 또한, 저는 ' 이것이 Craft의 버그라고 제안하지 않습니다 (만약 그렇다면 다른 사람들이 지금까지이 버그를 발견했을 것입니다. P & T는 아마도 몇 분 안에 문제를 해결했을 것입니다.) 그래서 SE는 토론하기에 가장 적합한 포럼처럼 보였습니다.
  • 이것이 ' 그다지 답이 아닙니다. mea culpa로. VM을 완전히 제거하고 처음부터 시작 (정확히 동일한 프로비저닝 사용) 한 후 문제가 저절로 해결되었습니다. 저는 ' 특히 VM 구성 측면에서 아무것도 변경되지 않았기 때문에 왜 이런 일이 발생했는지에 대해 여전히 당황 스럽지만 지금은이 신비한 솔루션을 기꺼이 받아 들일 것입니다. 문제의 근본 원인을 파악하면 ' 실제 답변을 게시합니다.
  • @StephenLewis I ' d 어쨌든 다른 사람의 상황을 해결할 기회가있을 때 답변으로 게시합니다. " 적절한 " 솔루션을 찾으면 언제든지 편집 할 수 있습니다.
  • @BradBell 원래 시도해 보았습니다. 하지만 SE는 내가 8 시간 더 기다려야한다고 주장했고, 그 성가신 Ben Parizek이 내 천둥을 훔쳤다. ' 그의 답변을 수락했습니다.

답변

만족스럽지 않은 답변 일 수 있습니다. 완료를 위해이 질문은 똑같은 VM을 완전히 파괴하고 재 구축하여 해결되었습니다.

여기에 대한 Twitter의 짧은 토론 :

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

켜기 / 끄기 기술에 대해 따뜻한 애정이 있습니다. 엘리베이터 수리도 본 적이 있습니다!

댓글

  • 벤이 말한 것 …

답변

Craft와 Vagrant를 사용할 때 문제를 해결 한 후 괴로움을 느끼게하는 몇 가지 임의의 오류를 보았습니다. 나는 당신이 한 것과 같은 결론에 도달했습니다. 기계와 재 구축으로 문제가 해결되는 것 같았지만 “내가 빚진 것 같다고 생각하는 답을주지 못했습니다.

그래서 파헤 쳤습니다 …

범인을 찾았습니다. Vagrant의 동기화 기능입니다. Vagrant가 처음 등장했을 때 주요 문제 중 하나는 폴더를 많은 파일 및 디렉토리 (일명 CMS)와 동기화하는 것이 었습니다. 직접 링크를 찾을 수는 없지만 가상 박스 게스트 추가 도구에 문제가있는 사람들이 있다고 생각합니다.

당신의 방랑자 컴퓨터가 정말 오래되었다는 말은 아닙니다. 그렇지 않은 경향이 있습니다. 그러나 나는 때때로 동기화 기능이 디렉토리 / 파일을 손상 시키거나 동기화하지 않을 수 있다는 것을 때때로 말하고 있습니다.

다시 실행하면 파일을 다음과 같이 비교합니다. 호스트 및 게스트 시스템에 대한 질문입니다. 특히 보이지 않는 캐릭터를 찾고 있습니다.

또한 주목할만한 가치가 있지만 이것에 대한 경험이 없습니다. Vagrant를 사용하면 향상된 성능을 요구하는 공급자로 VMWare를 사용할 수 있습니다. 한 가지 단점은 라이선스 비용이 $ 79라는 것입니다.하지만 Vagrant의 향후 개발에 자금을 지원하는 데에도 사용됩니다. VMWare 공급자에 대한 세부 정보는 다음과 같습니다.

https://www.vagrantup.com/vmware

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다