我已经在网上搜索了答案,但截至目前为止都没有成功。我正在尝试将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”这一行,但仍然没有运气。任何帮助将不胜感激。
答案 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文件位置,您可以设置它:
(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"
请告诉我(投票)是否有效。我希望它有所帮助。
由于