Jar*_*red 8 php mysql macos cakephp osx-snow-leopard
我是CakePHP的新手,我刚刚完成了配置过程,但我很困难为什么Cake无法访问我的MySQL数据库.Cake信息页面说我的tmp目录是可写的,FileEngine用于缓存(不知道这意味着什么),并且我的数据库配置文件存在,但CakePHP无法连接到数据库.
以下是我的设置详情:
以下是我经历的步骤:
以下是来自database.php的相关配置数据:
var $default = array( 'driver' => 'mysql', 'persistent' => false, 'host' => 'localhost', 'login' => 'cake_blog_user', 'password' => 'cake_blog_password', 'database' => 'cake_blog', 'prefix' => '', );
我在这里错过了什么吗?我还要提一下,如果我echo mysql_error();
在测试数据库连接之前插入/cake/libs/view/pages/home.ctp文件,则显示的错误是"没有这样的文件或目录".我不知道它在说什么文件或目录.
谢谢!
通常咬我的是MySQL认为'localhost'为'通过unix socket连接'和'127.0.0.1''通过TCP端口连接'.对于XAMPP(至少在mac上)这样的东西,unix套接字文件就不存在了.只需使用127.0.0.1即可.
var $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => '127.0.0.1',
'login' => 'cake_blog_user',
'password' => 'cake_blog_password',
'database' => 'cake_blog',
'prefix' => '',
);
Run Code Online (Sandbox Code Playgroud)
应该一直工作.
如果是套接字,只需编辑/etc/php.ini以反映以下内容
pdo_mysql.default_socket=/tmp/mysql.sock
Run Code Online (Sandbox Code Playgroud)
和
mysql.default_socket = /tmp/mysql.sock
Run Code Online (Sandbox Code Playgroud)
我相信你也可以做到以下几点
<?php
public $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'cake_blog_user',
'password' => 'cake_blog_password',
'database' => 'cake_blog',
'prefix' => '',
'port' => '/tmp/mysql.sock',
)
?>
Run Code Online (Sandbox Code Playgroud)
这样做可能意味着当您在生产服务器上运行时需要编辑database.php文件.
归档时间: |
|
查看次数: |
14548 次 |
最近记录: |