提问者:小点点

Cakephp postgres-烘焙时无法识别默认数据库


我有问题烘烤命令行与控制台,只有在Postgres数据库。

我使用:

  • Windows
  • Cakephp 2.3
  • PostgreSQL 8.4.8)我的数据库位于外部服务器(unix)上,其他组件位于本地计算机上。

对于我的应用程序,CakePhp检查似乎是好的:

  • 您的PHP版本是5.2。8或以上

当我手动编码MVC时,没关系,应用程序检索数据。

当我将命令行与Console一起使用时,我收到以下消息:

    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.

谢谢你的帮助,

西蒙。


共3个答案

匿名用户

西蒙,我有这个问题。最终,我意识到我的网络服务器正在查看我的MAMP安装中的php.ini文件,其中确实安装了postgres PDO驱动程序,但我的终端使用了我的本地PHP安装,而不是。这就是为什么CakePHP检查页面说连接可以,但是Bake Shell不起作用。这个问题的第二个答案是在几个小时的极度沮丧后我的救赎。顺便说一下,所有这些都发生在我的操作系统升级之后。祝你好运!

匿名用户

有两件事是错的:

  • 您的数据库连接参数无效。尝试通过命令行连接以验证它们是否正常工作。
  • 您没有启用postgres驱动程序。检查你的php.ini文件。

匿名用户

在windows 7,iis7上遇到相同问题。5、PostgreSql 9.4、cakephp 2.6。3我已经在我的程序文件x86/php/php5中安装了php5.3。3所以我认为它在我的系统中无处不在。。。但我发现只有我的IIS使用它。

在控制台中键入php-ini,它将显示控制台中使用的当前版本。我的控制台显示了我的php。ini来自C:\ProgramFiles(x86)\IIS Express\PHP\v5。5刚刚添加到这个php中。伊尼

extension=php_pgsql.dll
extension=php_pdo_pgsql.dll

一切正常