Pregunta

Estoy tratando de hacer lo Acl aplicación simple controlado tutorial en el libro de cocina cakephp. La idea es:

Realización de bases de datos

 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)
 );

A continuación, ejecute el comando bake todo, esto es cuando tengo el problema:

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.

Mi config base de datos es la siguiente:

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

Así que estoy usando la última versión de CakePHP (1.2.5), la última versión Mamp (1.7.2) que se ejecuta PHP v5 ... Alguien sabe cuál es el problema?

¿Fue útil?

Solución

También puede moverse utilizando la dirección IP localhost haciendo

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',
);

Esto se debe a que cuando se utiliza un MYSQL localhost llamado a tratar de conectar a través de un conector local. Por specififying donde la toma es a través de 'puerto' de cambiar la ruta busca el archivo de socket en. Mediante el uso de 127.0.0.1 o especificando una dirección IP de cualquier tipo que le dice a mysql para conectarse a través de http, que no utiliza el zócalo en todos.

Otros consejos

Esta es la versión 2.x de la configuración de base de datos para localhost en 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'
);

Ok he encontrado una manera de hacerlo, podría ayudar a las personas que tienen el mismo problema: He definido un host a 127.0.0.1 así torta puede conectarse a él. Gracias por la ayuda.

torta no puede encontrar el zócalo.

intentar hacer un enlace simbólico desde donde su socket es, hasta donde la torta piensa que debe ser:

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

he tenido este problema cuando me cambiaron a CakePHP. En mi versión actual MAMP 1.9.x simplemente me aseguro de que yo uso 'Anfitrión' => '127.0.0.1' y => 8889 (a menos que cambie el puerto por defecto de MySQL) 'puerto'.

Producción perfectamente para mí.

Estoy ayudando a un amigo a esta configuración en Windows.

Dentro de un material EasyPHP todo fino trabajo (conexión con MySQL). Así Cakephp usar PDO para conectarse a la base de datos.

Cuando intento uso de pasteles para generar los modelos plantean: "Error: la conexión de base de datos 'mysql' no se encuentra, o no se podrían crear."

PHP en la línea de comandos intentar encontrar php.ini dentro de la carpeta de Windows, por lo que no pueden encontrar y obtener la configuración por defecto y sin extensiones PDO y MySQL.

Copiar php.ini en el interior de las ventanas de carpetas y hornear telas no tendrán ningún problema!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top