2013-06-27 4 views
1

콘솔과 함께 명령 줄에서 굽는 데 문제가 있습니다. Postgres 데이터베이스에서만 문제가 있습니다.Cakephp postgres - 굽기 작업시 인식 할 수없는 기본 데이터베이스

내가 사용

  • 윈도우
  • CakePHP는 2.3
  • 의 PostgreSQL 8.4.8) 내 데이터베이스가 외부 서버에 (유닉스), 내 로컬 컴퓨터의 다른 구성 요소를. 내 앱에 대한

는 CakePHP의 검사가 좋은 것 같다 : PHP의

  • 버전이 5.2.8 이상이다.
  • tmp 디렉토리에 쓸 수 있습니다.
  • FileEngine이 코어 캐싱에 사용되고 있습니다. 설정을 변경하려면 APP/Config/core.php
  • 데이터베이스 구성 파일이 있습니다.
  • Cake는 데이터베이스에 연결할 수 있습니다.

MVC를 수동으로 코딩 할 때 응용 프로그램이 데이터를 검색합니다. 당신의 도움에 대한

D:\wamp\www\mobilite\app>cake bake 
    Welcome to CakePHP v2.3.5 Console 
    --------------------------------------------------------------- 
    App : app 
    Path: D:\wamp\www\mobilite\app\ 
    --------------------------------------------------------------- 
    Interactive Bake Shell 
    --------------------------------------------------------------- 
    [D]atabase Configuration 
    [M]odel 
    [V]iew 
    [C]ontroller 
    [P]roject 
    [F]ixture 
    [T]est case 
    [Q]uit 
    What would you like to Bake? (D/M/V/C/P/F/T/Q) 
    > M 
    --------------------------------------------------------------- 
    Bake Model 
    Path: D:\wamp\www\mobilite\app\Model\ 
    --------------------------------------------------------------- 
    Use Database Config: (default/components) 
    [default] > 
    Error: Database connection "Postgres" is missing, or could not be created. 

덕분에,

사이먼 : 나는 CONSOL와 명령 줄을 사용하는 경우

, 나는이 메시지를 가지고있다.

+1

, 당신의 database.php을 제공하거나 localhost 대신 또는 그 반대의 127.0.0.1 사용 해보세요 노력하고 있습니다 : 귀하의 회신 바딤으로 localhost 대신 127.0.0.1의 – Vadim

+0

감사합니다. 내 데이터베이스가 외부 서버 (유닉스)에 있고 나머지는 로컬 컴퓨터에 있다고 언급하는 것을 잊어 버렸다. – Simon

+0

@ Vadim, 귀하의 요청은 한 번 같은 문제가 있지만 MySql 데이터베이스로 인해이 게시물에 뭔가를 추가하십시오. 마침내 왼쪽 편에, 모든 구성 요소가 수동으로 생성되었습니다. 그러나 나는 아직도 문제가있다. – Simon

답변

1

사이먼,이 정확한 문제가있었습니다. 궁극적으로 필자는 자신의 웹 서버가 MAMP 설치에서 php.ini 파일을보고 있음을 깨닫게되었지만 postgres PDO 드라이버를 설치했지만 내 터미널은 내 원시 PHP 설치를 사용하지 않았습니다. 이것이 CakePHP 체크 페이지가 연결이 괜찮다고 말한 이유이지만, Bake Shell은 작동하지 않습니다. this question에 대한 두 번째 대답은 수 시간 동안의 끔찍한 좌절감 이후의 나의 구원이었다. 이 모든 일은 내 OS로 업그레이드 한 후에 일어난 일입니다. 행운을 빕니다! 두 가지의

0

하나는 잘못된 것입니다 :

  • 데이터베이스 연결 매개 변수가 유효하지 않습니다. 명령 줄을 통해 연결하여 올바르게 작동하는지 확인하십시오.
  • 사용자는 postgres 드라이버를 활성화하지 않았습니다. php.ini 파일을 확인하십시오.
0

메트로 난 내 프로그램 파일에 PHP 5.3을 설치 한 윈도우 7에서 동일한 문제, IIS7.5, PostgreSQL의 9.4, CakePHP의 2.6.3 는 86/PHP/php5.3 그래서 나는 모든 곳에서 사용된다 생각 내 시스템에서 ...하지만 내 IIS는 내가 발견 한대로 그것을 사용합니다.

콘솔에 php -ini를 입력하면 콘솔에 사용되는 최신 버전이 표시됩니다. 내 콘솔에 내 php.ini가 C : \ Program Files (x86) \ IIS Express \ PHP \ v5.5에 있음이 표시되었습니다. 이이 PHP에 추가되었습니다.INI

extension=php_pgsql.dll 
extension=php_pdo_pgsql.dll 

모든 것이