我试图做简单的Acl控制应用程序教程在cakephp的食谱。 我们的想法是:

制作数据库

 CREATE TABLE users (
 id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, username VARCHAR(255) NOT NULL UNIQUE,
 password CHAR(40) NOT NULL,
 group_id INT(11) NOT NULL,
 created DATETIME,
 modified DATETIME
 );


 CREATE TABLE groups (
 id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
 name VARCHAR(100) NOT NULL,
 created DATETIME,
 modified DATETIME
 );


 CREATE TABLE posts (
 id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
 user_id INT(11) NOT NULL,
 title VARCHAR(255) NOT NULL,
 body TEXT,
 created DATETIME,
 modified DATETIME
 );

 CREATE TABLE widgets (
 id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
 name VARCHAR(100) NOT NULL,
 part_no VARCHAR(12),
 quantity INT(11)
 );

然后运行蛋糕烘所有命令,这是当我的问题:

Welcome to CakePHP v1.2.4.8284 Console
---------------------------------------------------------------
App : app
Path: /Applications/MAMP/htdocs/luis/app
---------------------------------------------------------------
---------------------------------------------------------------
Bake All
---------------------------------------------------------------

Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (2) in /Applications/MAMP/htdocs/luis/cake/libs/model/datasources/dbo/dbo_mysql.php on line 374

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /Applications/MAMP/htdocs/luis/cake/libs/model/datasources/dbo/dbo_mysql.php on line 379

Warning: mysql_get_server_info(): supplied argument is not a valid MySQL-Link resource in /Applications/MAMP/htdocs/luis/cake/libs/model/datasources/dbo/dbo_mysql.php on line 387

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /Applications/MAMP/htdocs/luis/cake/libs/model/datasources/dbo/dbo_mysql.php on line 411
Error: Your database does not have any tables.

我的数据库的配置是这样的:

var $default = array(
    'driver' => 'mysql',
    'persistent' => false,
    'host' => 'localhost',
    'port' => 8889,
    'login' => 'root',
    'password' => 'root',
    'database' => 'cake',
);

所以我用最后的CakePHP的版本(1.2.5),最后MAMP版本(1.7.2)上运行PHP V5 ... 有人知道这是什么问题?

有帮助吗?

解决方案

您也可以避开做使用本地主机的IP地址

var $default = array(
    'driver' => 'mysql',
    'persistent' => false,
    'host' => 'localhost',
    'port' => 8889,
    'login' => 'root',
    'password' => 'root',
    'database' => 'cake',
    'port' => '/Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock',
);

这是使用名为本地主机MySQL时,因为会尝试并且通过当地的插座连接。通过specififying其中插座是通过“口”你改变它的外观在套接字文件的路径。通过使用127.0.0.1或指定任何一种你能告诉MYSQL的IP通过HTTP进行连接,这并不在使用socket所有

其他提示

这是数据库配置的2.x版为本地主机上MAMP

public $default = array(
    'datasource' => 'Database/Mysql',
    'persistent' => false,
    'host' => 'localhost',
    'login' => 'USERNAME',
    'password' => 'PASSWORD',
    'database' => 'DATABASE',
    'encoding' => 'utf8',
    'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock'
);

好吧,我发现了一个办法做到这一点,它可能会帮助谁有同样的问题的人:我设置主机为127.0.0.1这样的蛋糕可以连接到它。 感谢您的帮助。

饼找不到套接字。

请尝试从您的插座是一个符号链接,到蛋糕认为它应该是:

LN -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock

我有这个问题,当我移动到CakePHP的。在我目前的甲基苯丙胺的1.9.x版本,我只是确保我使用 '主机'=> '127.0.0.1' 和 “端口” => 8889(除非您更改默认MySQL端口)。

完美我的作品。

我在帮一个朋友安装在Windows操作系统上。

里面一个的EasyPHP东西的所有工作细(与MySQL连接)。 所以CakePHP的使用PDO连接到数据库。

在尝试使用烘烤生成模式提高:“错误:数据库连接‘mysql的’丢失,或无法建立。”

PHP命令行尝试发现里面去Windows文件夹中的php.ini,使他们无法找到和得到默认的配置,而无需PDO和MySQL扩展。

德WINDOWS文件夹和烤的东西里面复制的php.ini将正常工作!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top