【问题标题】:CakePHP Bake Error: Database connection “Mysql” is missing, or could not be createdCakePHP Bake 错误:数据库连接“Mysql”丢失,或无法创建
【发布时间】:2014-08-02 14:03:37
【问题描述】:

我只是下载 cakephp 2.5.1 提取并创建一个数据库。

现在我尝试使用 cake bake 但终端显示错误(我使用的是 ubuntu)

Error: Database connection “Mysql” is missing, or could not be created

数据库连接也没有问题。刚刚使用页面/索引功能进行了测试。它工作正常。

我应该使用空表吗?目前我正在使用当前项目数据库。

数据库.php

类 DATABASE_CONFIG {

public $default = array(
    'datasource' => 'Database/Mysql',
    'persistent' => false,
    'host' => 'localhost',
    'login' => 'root',
    'password' => '',
    'database' => 'abcd',
    'prefix' => 'lab_',
    'encoding' => 'utf8',
);
public $test = array(
    'datasource' => 'Database/Mysql',
    'persistent' => false,
    'host' => 'localhost',
    'login' => 'user',
    'password' => 'password',
    'database' => 'test_database_name',
    'encoding' => 'utf8',
);

}

Sql 连接工作正常(查找查询结果)>

谢谢

更新>

【问题讨论】:

标签: linux database cakephp cakephp-2.0


【解决方案1】:

连接,而不是数据库

问题是询问使用哪个数据库连接 - 而不是使用哪个数据库,即

使用哪一个?

public $default = array();
       ^ This one?
public $test = array();
       ^ Or this one?

回答 abcd 将导致 bake 在数据库配置类中查找和使用 public $abcd - 这显然是错误配置的。

【讨论】:

  • 其实我已经删除了$abcd,现在使用$default,但问题还是一样。
  • 我更新了最新的截图。请检查 。谢谢
  • 这使得该问题成为所有其他 cakephp-mysql-is-missing 问题的副本。顺便说一句 - 请不要使用屏幕截图来显示文本 - 只需输入文本
  • 可能 mysql 的套接字不在 php 认为的位置。如果它适用于网络请求 - 几乎可以肯定是这种情况 - 例如比较 pdo_mysql.default_socket 的 web 和 cli 请求。或者what is the solution? - 阅读重复的问题和答案。
【解决方案2】:

尝试定位“mysql.sock”并将该文件的路径(例如:/tmp/mysql.sock)添加到数据库配置条目“unix_socket”。所以您的数据库配置如下所示:

public $default = array(
    'datasource' => 'Database/Mysql',
    'persistent' => false,
    'host' => 'localhost',
    'login' => 'root',
    'password' => '',
    'database' => 'abcd',
    'prefix' => 'lab_',
    'encoding' => 'utf8',
    'unix_socket' => '/tmp/mysql.sock',
);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-17
    • 1970-01-01
    • 2014-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-21
    相关资源
    最近更新 更多