【发布时间】:2010-12-10 18:22:05
【问题描述】:
我是 CakePHP 的新手,我只是在运行配置过程,但我很困惑为什么 Cake 不能访问我的 MySQL 数据库。 Cake info 页面说我的 tmp 目录是可写的,FileEngine 正在用于缓存(不知道这是什么意思),并且我的数据库配置文件存在,但是 CakePHP 无法连接到数据库。
这是我的设置详情:
- PHP 5.3(预装在 Snow Leopard 上)
- MySQL 5.1.40 64 位
- CakePHP 1.2.4.8284
这是我经历的步骤:
- 创建了一个名为 cake_blog 的 MySQL 架构
- 创建了一个名为 cake_blog_user 的 MySQL 用户
- 授予 cake_blog_user 对 cake_blog@localhost 和 cake_blog@% 的适当权限
- 将 database.php.default 文件复制到 database.php 并酌情编辑数据库连接详细信息
这里是来自database.php的相关配置数据:
var $default = 数组( '驱动程序' => 'mysql', '持久' => 假, '主机' => '本地主机', '登录' => 'cake_blog_user', '密码' => 'cake_blog_password', '数据库' => 'cake_blog', '前缀' => '', );我在这里遗漏了什么吗?我还应该提到,如果我在测试数据库连接之前将echo mysql_error(); 插入到 /cake/libs/view/pages/home.ctp 文件中,则显示的错误是“没有这样的文件或目录”。我不知道它在说什么文件或目录。
谢谢!
【问题讨论】:
-
您的数据库设置是什么样的,即您通常使用什么参数来连接它?贴出database.php文件的详细信息。
-
我会冒昧地猜测mysql.sock 不在标准位置了
-
不完全是这个特定问题的解决方案,但我在 Mac 上使用 MAMP(类似 LAMP 的独立堆栈)进行蛋糕开发取得了巨大成功。也许看看那个。
-
感谢 nduplessis!在 Snow Leopard 中,
mysql.sock已移动到/tmp/mysql.sock,而不是默认位置/var/mysql/mysql.sock。 -
哦,没错。我添加了一个符号链接而不是更新我的 php.ini
标签: php mysql macos cakephp osx-snow-leopard