繁体   English   中英

CakePHP WAMP-数据库Mysql连接丢失

[英]CakePHP WAMP - Database Mysql connection missing

我已经在网上搜寻了答案,但到目前为止仍未成功。 我正在尝试将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”行,但仍然没有运气。 任何帮助,将不胜感激。

我有完全相同的问题。 mysql数据库中没有问题,因为可以通过phpMyadmin和服务器上运行的其他应用程序进行访问。 该问题是由于未与主机一起提到的mysql端口引起的。 将端口附加到主机,例如...'host'=>'localhost: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。 希望能帮助到你。

首先检查您的localhost / phpmyadmin中是否有一个名为Cake的数据库,并且如果该mysql使用用户名root且没有密码,还请确保在正确的php.ini文件( extension=php_mysql.dll )上设置了php_mysql。

其次,如果您认为问题是由于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"

请告诉我(投票)是否可行。 希望对您有所帮助。

谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM