这是我第一次安装框架,我很无知。
我使用的是 OSX 10.7,我已将 cakephp 框架加载到/Library/WebServer/Documents/cakephp
我已经能够加载测试页面并消除一些错误和警告。现在我正在努力解决这个问题
Warning (2): PDO::__construct() [pdo.--construct]: [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock) [CORE/Cake/Model/Datasource/Database/Mysql.php, line 160]
Cake is NOT able to connect to the database.
Database connection "SQLSTATE[HY000] [2002] No such file or directory" is missing, or could not be created.
我真的不知道在这里做什么。我已经安装了MySQL。 MySQL PDO 是否默认安装在 OSX 上?或者我需要安装它吗?如果这似乎是问题所在,我该如何检查是否已安装。
UPDATE:
PDO Mysql 驱动程序已启用。
还有phpinfo()
对于 pro_mysql 看起来像这样:
Directive Local Value Master Value
pdo_mysql.default_socket /var/mysql/mysql.sock /var/mysql/mysql.sock
但是 mysql 目录没有出现在我的文件系统中。我应该创建它吗?或者我需要在某个地方改变这条路径吗?
更新:
我认为问题是我还没有真正建立数据库。我有点傻,没有设置数据库。
我想我现在会尝试解决这个问题。
UPDATE:
最终解决这个问题的是cake正在寻找数据库的Unix套接字/var/mysql/mysql.sock
但 mysql 正在使用套接字/tmp/mysql.sock
我通过从以下位置创建符号链接来修复此问题/var/mysql/mysql.sock
to /tmp/mysql.sock
.
看起来更像是 MySQL 本身没有安装,但 PDO 库是与您的网络服务器一起编译的。我不知道如何在 OSX 中检查这一点,但您可以尝试检查此链接:http://www.sequelpro.com/docs/Install_MySQL_on_Mac_OS_X http://www.sequelpro.com/docs/Install_MySQL_on_Mac_OS_X
EDIT
登录 MySQL(mysql -u root -p
)并创建数据库:
create database cakephp
然后创建一个新的用户名/密码并授予他们访问该数据库的权限。假设您要创建用户名 cakephp 和密码 cakepass:
GRANT ALL ON cakephp.* TO cakephp@localhost IDENTIFIED BY 'cakepass';
FLUSH PRIVILEGES;
现在你的database.php配置文件应该是这样的:
<?php
class DATABASE_CONFIG {
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'cakephp',
'password' => 'cakepass',
'database' => 'cakephp',
'prefix' => ''
);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)