2011-06-02 8 views
2

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

Я поместил файлы CakePHP 2.0.0 в свою папку с wamp «www», а затем папку «cake».

Когда я ввожу адрес http://localhost/cake в моем браузере, то отображается следующее сообщение:

CakePHP: the rapid development php framework 
Release Notes for CakePHP 2.0.0-dev. 

Notice (1024): Please change the value of 'Security.salt' in app/config/core.php to a salt value specific to your application [CORE\Cake\Utility\Debugger.php, line 647] 

Notice (1024): Please change the value of 'Security.cipherSeed' in app/config/core.php to a numeric (digits only) seed value specific to your application [CORE\Cake\Utility\Debugger.php, line 651] 

Your tmp directory is writable. 

The FileEngine is being used for caching. To change the config edit APP/config/core.php 

Your database configuration file is present. 

Cake is NOT able to connect to the database. 
Editing this Page 

To change the content of this page, create: APP/views/pages/home.ctp. 
To change its layout, create: APP/views/layouts/default.ctp. 
You can also add some CSS styles for your pages at: APP/webroot/css. 
+0

Кажется, что-то не так с вашим сервером базы данных или вы ввели неправильный пароль. – grapefrukt

+1

Вы следовали инструкциям в первых двух строках? Тогда, возможно, вы можете посмотреть переменные среды вашей машины и убедиться, что кто-то может записать в каталог% TEMP% ... Затем настройте конфигурацию базы данных ... Вы читали и понимали сообщение об ошибке? – mdm

+0

@grapefrukt :) Я просто поставил CakePHP 2.0.0 в папку моего wamp-сервера «www», а затем папку «cake», когда я ввожу adres в браузере http: // localhost/cake/then following notice ocurs – Harsh

ответ

3

Они не являются ошибками, они уведомления. Это означает, что вы можете сделать некоторые настройки, чтобы заставить его работать. Прочитайте их и сделайте то, что они вам говорят. Похоже, ошибки происходят в вашем config/, следите за тем, чтобы предоставить правильную информацию, такую ​​как имя и пароль базы данных.

Редактировать

Просто, чтобы ответить на ваш вопрос, CakePHP это PHP рамки, которые помогут вам строить свой сайт в модели MVC. Вместо написания исходного кода с нуля, используя фреймворк, вы можете наследовать все его функциональные возможности, которые ускоряют ваше время разработки, помогут вам более легко справиться с более сложной структурой/процедурами.

+0

) вопрос отредактирован – Harsh

+0

ответ также отредактирован (: –

-2

На локальном хосте для mysql обязательным является использование пользователя «root», а не любого другого пользователя. Надеюсь это поможет.

Также проверьте this.

13

У меня была такая же проблема, и для определения фактической проблемы потребовалось много исследований.

Новая версия CakePHP использует pdo для установления соединения, а не mysql или mysqli, как это было ранее. Когда вы используете среду Windows, просто включите следующее в файле php.ini.

расширение = php_pdo_mysql.dll

НИЧЕГО сделать с помощью корня, и я также нашел его в настоящую досаду при попытке перейти от 1,3 до 2,0

Что касается высокомерного ответа от deceze, я нашел НЕТ упоминание об этом изменении в любом месте CakePHP download/install/docs.

+0

спасибо, только что спасли мои часы, пытаясь понять это. – cgTag

+0

У меня достаточно репутации сейчас, чтобы ответить на этот вопрос :) – Vaughany

6

Я не могу выдвинуть свою кандидатуру из-за недостатка репутации, однако я хотел бы отметить, что, несмотря на комментарии по вашему вопросу (которые, в частности, верны), George Wood является абсолютно правильным: вам необходимо включить

расширение = php_pdo_mysql.dll (Windows)

или для меня это было расширение = pdo_mysql.so (Arch Linux)

... и там могут быть некоторые варианты там тоже. Я просто боролся с этим в течение часа. Удачи вам в ваших усилиях по кодированию.

4

Моя проблема с CakePHP была решена на Ubuntu, делая это:

Sudo APT-получить установку php5-MySQL

Суда/и т.д./инициализации.d/apache2 restart

Я использую Ubuntu 10.04, MySQL, Apache2 и PHP5.

Как только я это сделал, я мог использовать созданный пользователем MySQL. Так что это не ошибка конфигурации cakephp, которая не знала, что php5-mysql не был установлен по умолчанию.

+0

Спасибо, я была аналогичная проблема, но с PostgreSQL. – d33tah

+0

Это сработало отлично. Спасибо за совет! – Protagonist

1

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

  • «водитель» (ок в 1.3) была переименована в «» источник данных
  • 'MySQL' (ок в 1.3) должен быть определен как 'Database/Mysql'

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

Позвольте мне знать, если это работает. (Я пытался повторно использовать свою старую конфигурацию 1,3 и попал в ту же петлю.)

0

Решение, как показано ниже.

Уведомление (1024): Пожалуйста, измените значение «Security.salt» в приложении/config/core.php на значение соли, специфичное для вашего приложения. [CORE \ Cake \ Utility \ Debugger.php, строка 647]

Решение: зайдите в этот файл app/config/core.php , найдите Security.salt и измените его на любое значение.

Уведомление (1024): Пожалуйста, измените значение «Security.cipherSeed» в файле app/config/core.php на числовое значение (только цифры), специфичное для вашего приложения [CORE \ Cake \ Utility \ Debugger. php, строка 651]

Решение: исправьте этот файл app/config/core.php найдите Security.cipherSeed и измените его на любое значение.

Ваш каталог tmp доступен для записи.

Решение: Дайте правильное разрешение для этого путь приложения/TMP

торт не может подключиться к базе данных.

Решение: исправьте этот файл app/config/database.php установите соответствующие параметры для подключения к базе данных.

0

Просто добавив это здесь ... Я столкнулся с этим (и другими подобными решениями), но только недавно нашел проблему. У меня была проблема с моей собственной сборкой Apache из-за других проблем с программным обеспечением, и я решил быстро создать рабочую среду, а не переформатировать мой компьютер.

Я впервые установил Apache 2.4 и PHP 5.4. Эти версии, к сожалению, несовместимы с большинством моего кода, и снова я быстро хотел получить рабочей среды, поэтому я удалил и вернулся в WAMP с Apache 2.2 и PHP 5.3.

В какой-то момент WAMPServer просматривал файлы C: \ Program Files (x86) \ PHP \ php.ini для моего файла php.ini. Я не знаю, как и почему он там смотрел. К сожалению, я редактировал C: \ wamp \ bin \ php \ php5.3.13 \ php.ini.Я не понимал, почему MySQL не работает, пока я не загрузил вызов phpinfo(), и заметил, что PHP просматривает «неправильное» место для моего php.ini.

Если у кого-то еще есть аналогичная проблема, я подумал, что добавлю его сюда в микс. Удачи!

0

У меня была та же проблема, и я понял это.

У меня было неправильное имя пользователя и пароль для подключения к базе данных.

Итак, я открыл базу данных и отредактировал файл database.php. Теперь торт может подключаться к базе данных.

0

Недавно у меня была такая же проблема с XAMPP, установленной на окна машины, для меня это было потому, что при вводе детали

public $default = array(
'datasource' => 'Database/Mysql', 
'persistent' => false, 
'host' => 'localhost', 

окна не может решить локального хоста на будучи 127.0.0.1, это может быть решена один из либо решений: Изменить детали в приложение/Config/database.php для

public $default = array(
'datasource' => 'Database/Mysql', 
'persistent' => false, 
'host' => '127.0.0.1', 

или редактировать в Windows C: \ Windows \ System32 \ Drivers \ Etc \ хостов (Вы, возможно, потребуется запустить Nopepad.exe, как администратор для этого)

добавить строку в конец с:

127.0.0.1 локального хоста

0

Я решил эту ошибку, понижая мой XAMPP от версии 7.0 до версии 5.6. Кажется, что обновленный xampp не поддерживает игру cakeframework. Я использовал этот трюк, чтобы успешно установить orangescrum.

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