Mamp ile Mac OS üzerinde CakePHP'de konsol (Bake): veritabanı bağlantı hatası

5 Cevap php

I am trying to do the Simple Acl controlled Application tutorial in the cakephp cookbook. The idea is :

Veritabanları Yapımı

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

I sorun var o zaman kek pişirmeye all komutunu çalıştırın, şudur:

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.

Benim veritabanı yapılandırma Bu gibi:

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

So i am using the last CakePHP Version (1.2.5), the last Mamp version (1.7.2) running PHP v5... Somebody knows what is the problem ?

5 Cevap

Ayrıca etrafında yaparak localhost ip adresini kullanarak alabilirsiniz

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

Bir adlandırılmış localhost MYSQL kullanarak yerel bir soket aracılığıyla denemek ve bağlanmak olmasıdır. Soket 'port' Eğer soket de kullanmak değil http üzerinden bağlanmak için 127.0.0.1 kullanarak veya MYSQL anlatmak herhangi bir tür bir IP belirterek içeri soket dosyasını arar yolunu değiştirmek yoluyla olduğu specififying tarafından hepsi.

Bu MAMP üzerinde localhost için veritabanı config 2.x sürümü

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

kek soketi bulamıyorum.

soket Cake olması gerektiğini düşünüyor nerede, nerede sembolik bir bağlantı yapmayı deneyin:

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

I had this problem when I moved to CakePHP. In my current MAMP 1.9.x version I simply make sure I use 'host' => '127.0.0.1' and 'port' => 8889 (unless you change the default mysql port).

Benim için mükemmel çalışıyor.

Windows üzerinde kurulum Bu bir arkadaşa yardım ediyorum.

Inside a EasyPHP stuff all work fine (connection with Mysql). So Cakephp use PDO to connect to database.

Try kullanımı FIRIN oluşturmak için zaman modeller yükseltmek: "Hata: Veritabanı bağlantısı" Mysql "eksik veya yaratılmış olamazdı."

Komut satırında PHP buldukları ve PDO ve MySQL uzantıları olmadan varsayılan yapılandırma olamıyorum bu yüzden de Windows klasörü içindeki php.ini bulmaya çalışın.

De WINDOWS klasör ve fırında maddeleri içine kopyala php.ini iyi çalışacaktır!