CakePHP WAMP - 缺少数据库Mysql连接

时间:2014-01-28 23:44:26

标签: php mysql cakephp

我已经在网上搜索了答案,但截至目前为止都没有成功。我正在尝试将CakePHP连接到数据库。但我一直得到同样的答复:

CakePHP is NOT able to connect to the database.
Database connection "Mysql" is missing, or could not be created.

这是我的database.php文件的一部分

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

^我还尝试了基于phpmyadmin中访问权限列表的不同主机/登录组合。

我认为一个问题可能是Wampserver找到了错误的php.ini文件。它似乎正在加载文件:“C:\ Program Files(x86)\ PHP \ php.ini”而不是“C:\ wamp ...”下的内容。如何将其设置为指向正确的文件??

但是,我在两个文件中添加了“extension = php_pdo_mysql.dll”这一行,但仍然没有运气。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

我有完全相同的问题。 mysql数据库没有问题,因为它可以通过phpMyadmin和服务器上运行的其他应用程序访问。该问题是由于未与主机一起提及的mysql端口引起的。在主机上添加端口,例如...' host' => '本地主机:3307'

public $default = array(
    'datasource' => 'Database/Mysql',
    'persistent' => false,
    'host' => 'localhost:3307',
    'login' => 'root',
    'password' => 'mypass',
    'database' => 'cake_todos',
    'prefix' => '',
    //'encoding' => 'utf8',
);

现在,如何知道mysql端口?为此,您需要转到服务器配置文件..例如,在我的情况下,它是wamp文件夹的主目录中的properties.ini文件。打开文件,您很可能会找到这样的条目:

MYSQL_PORT = 3307 MYSQL_HOST = 127.0.0.1

所以,这就是mysql_port。希望它有所帮助。

答案 1 :(得分:0)

首先检查localhost / phpmyadmin中是否存在名为cake的数据库,如果该mysql使用用户名root并且没有密码,并确保在右侧php.ini文件(extension=php_mysql.dll)上设置php_mysql。 / p>

其次,如果您认为问题是由于php.ini文件位置,您可以设置它:

  1. 转到您的wamp文件夹(C:\ wamp)和
  2. 在该文件夹下,您将找到wampmanager.ini文件和
  3. 在该文件中找到php.ini单词,你会得到这种行 (Type: item; Caption: "php.ini"; Glyph: 6; Action: run; FileName: "notepad.exe"; parameters: "...path here...")并找到路径并设置"C:/wamp/bin/apache/apache2.2.21/bin/php.ini"
  4. 请告诉我(投票)是否有效。我希望它有所帮助。

    由于