1

我只能在 Postgres 数据库上使用控制台在命令行中烘焙时遇到问题。

我用 :

  • 视窗
  • 蛋糕PHP 2.3
  • PostgreSQL 8.4.8)我的数据库在外部服务器(unix)上,其他组件在我的本地计算机上。

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

  • 您的 PHP 版本是 5.2.8 或更高版本。
  • 您的 tmp 目录是可写的。
  • FileEngine 用于核心缓存。要更改配置编辑 APP/Config/core.php
  • 您的数据库配置文件存在。
  • Cake 能够连接到数据库。

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

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

    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.

感谢您的帮助,

西蒙。

4

3 回答 3

1

西蒙,我有这个确切的问题。最终,我意识到我的 Web 服务器正在查看我的 MAMP 安装中的 php.ini 文件,该文件确实安装了 postgres PDO 驱动程序,但我的终端使用的是我的本机 php 安装,但没有。这就是为什么 CakePHP 检查页面显示连接正常,但 Bake Shell 无法工作的原因。这个问题的第二个答案是我在经历了几个小时的可怕挫折之后得到了救赎。顺便说一句,所有这些都是在升级到我的操作系统之后发生的。祝你好运!

于 2014-03-18T00:30:08.797 回答
0

在 Windows 7、iis7.5、PostgreSql 9.4、cakephp 2.6.3 上遇到了同样的问题我已经在我的程序文件 x86/php/php5.3 中安装了 php 5.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

一切正常

于 2015-04-23T13:23:17.133 回答
0

两件事之一是错误的:

  • 您的数据库连接参数无效。尝试通过命令行连接以验证它们是否正常工作。
  • 您没有启用 postgres 驱动程序。检查您的 php.ini 文件。
于 2014-04-05T04:50:46.670 回答