Frage

Ich versuche, die einfache ACL kontrollierte Anwendung Tutorial im CakePHP Kochbuch. Die Idee ist:

Erstellen von Datenbanken

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

Dann der Kuchen backt alle Befehle ausführen, das ist, wenn ich habe das Problem:

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.

Meine Datenbank Config ist wie folgt:

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

Also ich die letzte Version CakePHP bin mit (1.2.5), die letzte Mamp Version (1.7.2) PHP v5 läuft ... Jemand weiß, was ist das Problem?

War es hilfreich?

Lösung

Sie können auch umgehen mit der localhost IP-Adresse, indem Sie

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

Das ist, weil, wenn eine benannte localhost MYSQL verwendet werden versuchen, durch eine lokale Buchse anschließen. Durch specififying wo die Steckdose über ‚Port‘ Sie den Pfad ändern sie in für die Socket-Datei aussieht. Durch die Verwendung von 127.0.0.1 oder durch eine IP jeglicher Art spezifizieren Sie MYSQL sagen über http zu verbinden, die nicht in die Steckdose nicht verwendet bei alle.

Andere Tipps

Dies ist die 2.x-Version der Datenbank Config für localhost auf 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 fand ich einen Weg, es zu tun, es könnte helfen Menschen, die das gleiche Problem haben: Ich habe eine die Host 127.0.0.1 so kann Kuchen mit ihm zu verbinden. Vielen Dank für die Hilfe.

Kuchen kann nicht die Fassung finden.

versuchen, einen symbolischen Link zu machen, von wo aus Ihrer Steckdose ist, wo Kuchen denkt es sein sollte:

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

Ich hatte dieses Problem, wenn ich zu CakePHP bewegt. In meiner aktuellen MAMP 1.9.x Version mache ich einfach, dass ich verwende 'Host' => '127.0.0.1' und 'Port' => 8889 (es sei denn Sie die Standard-MySQL-Port ändern).

Funktioniert perfekt für mich.

Ich bin ein Freund Setup diese unter Windows zu helfen.

In einer EasyPHP Sachen alle gut funktioniert (Verbindung mit Mysql). So CakePHP PDO verwenden, um Datenbank zu verbinden.

Beim Versuch Verwendung BAKE die Modelle zu erzeugen, erhöhen: „Fehler: Datenbank-Verbindung‚Mysql‘fehlen, oder können nicht erstellt werden.“

PHP auf der Kommandozeile versuchen php.ini innerhalb de Windows-Ordner finden, damit sie nicht und nutzen Sie die Standardkonfiguration ohne gU und Mysql-Erweiterungen finden.

Kopieren php.ini innerhalb de Windows-Ordner und backen stopft wird funktionieren!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top