2014-02-09 7 views
2

Я хочу изучить cakePHP, и все настроено правильно, за исключением проблемы в желтом цвете, который следует.CakePHP не может подключиться к базе данных

'CakePHP не может подключиться к базе данных. Соединение с базой данных «Mysql» отсутствует или не может быть создано ».

Я просмотрел Google и попробовал все, чтобы исправить эту проблему, но никто не работал. Устанавливается расширение php_pdo_mysql, я также могу подключиться к моей базе данных с помощью phpMyAdmin, и я попытался проверить свое соединение, используя следующий код, какое соединение в порядке и добавлено расширение pdo_mysql.

<?php 
$link = mysql_connect('localhost','root',''); 
if (!$link) { 
    die('Could not connect to MySQL: ' . mysql_error()); 
} 
echo 'Connection OK'; mysql_close($link); 
var_dump(extension_loaded('pdo_mysql')); 
?> 

database.php файл под приложение/Config следующим образом: (примечание: я попытался Localhost на имя хоста и не работать тоже)

class DATABASE_CONFIG { 

    public $default = array(
     'datasource' => 'Database/Mysql', 
     'persistent' => false, 
     'host' => '127.0.0.1', 
     'login' => 'root', 
     'password' => '', 
     'database' => 'database_name', 
     'prefix' => '', 
     //'encoding' => 'utf8', 
    ); 

    public $test = array(
     'datasource' => 'Database/Mysql', 
     'persistent' => false, 
     'host' => '127.0.0.1', 
     'login' => 'root', 
     'password' => '', 
     'database' => 'test_database_name', 
     'prefix' => '', 
     //'encoding' => 'utf8', 
    ); 
} 

Сервер, который я использую WAMP и он работает нормально, я имею в виду, что каждый имеет зеленый цвет на этом статусе.

Пожалуйста, может кто-нибудь мне помочь ?!

+1

Вы задаете имя базы данных? –

+0

Вы задаете имя пользователя и пароль в файле, который вы упомянули выше? –

+1

Когда Guillemo Mansilla заявила о базе данных, я решил создать ее через phpMyAdmin, и проблема исчезла. Я думал, что cakePHP использовал для создания исходной базы данных для меня, если ее не было. – ThiagoCoder

ответ

-1

пытаются добавить порт в database.php archive.Like это:

'host' => '127.0.0.1:3306', 

работает для меня.

2

По this page вы должны убедиться, что у вас есть pdo_mysql включен в PHP,

Редактировать файл php.ini и раскомментируйте:

extension=php_pdo_mysql.dll 
1

Вы должны проверить несколько вещей в ваша база данных по умолчанию т.е. public $default массив.

Прежде всего, изменить ваш 'host' от «127.0.0.0» на «локальный» [Я знаю, что на самом деле это не какая-то разница, тем не менее, дать ему пойти и посмотреть, что происходит]

'host' => '127.0.0.1:3306', 

Затем проверьте, правильно ли указано ваше имя базы данных и соответствует вашей базе данных MySQL.

'database' => 'database_name', 

Если ваше имя базы данных MySQL - это что-то еще, вы получите сообщение об ошибке, указанное в коде. Например, если имя базы данных MySQL является «test_db», вы должны будете написать так:

'database' => 'test_db', 

Помните, что делают все эти изменения в базе данных по умолчанию.

-1

Решение IS просто указать пароль, как, что в вашем database.php файле: «пароль» => «корень»,

+1

Неплохо хранить пароли в текстовом виде. –

0

У меня была такая же проблема. Я нашел решение для себя.

В моем случае CackPHP не смог найти никаких расширений, потому что я беспорядок для указания пути extension_dir.

Я только что добавил следующую строку в файле php.ini перед определением расширений.

extension_dir = "C:/PHP/доб" (Вы можете иметь другой путь)

и перезапущен мой сервер Apache.

Смежные вопросы