Торт не может подключиться к базе данных - PullRequest
2 голосов
/ 02 июня 2011

Я использую сервер Wamp и пытаюсь установить CakePHP 2.0.0, но у меня проблемы с ним.

Я поместил файлы 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.

Ответы [ 11 ]

13 голосов
/ 15 октября 2011

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

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

extension = php_pdo_mysql.dll

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

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

6 голосов
/ 17 октября 2011

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

extension = php_pdo_mysql.dll (Windows)

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

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

4 голосов
/ 17 февраля 2012

Моя проблема с cakephp была решена в Ubuntu следующим образом:

sudo apt-get install php5-mysql

sudo /etc/init.d/apache2 restart

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

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

3 голосов
/ 02 июня 2011

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

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

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

1 голос
/ 22 июня 2012

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

  • 'драйвер' (хорошо в 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 голосов
/ 04 августа 2016

Я решил эту ошибку, понизив мой xampp с версии 7.0 до версии 5.6.Похоже, что обновленный xampp не полностью поддерживает фреймворк.Я использовал этот трюк, чтобы также успешно установить апельсиновую крошку.

0 голосов
/ 02 октября 2013

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

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

окна не могли разрешить localhost быть 127.0.0.1, это можно решитьс помощью одного из решений: измените данные в app / Config / database.php на

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

или отредактируйте в windows C: \ Windows \ System32 \ drivers \ etc \ hosts (может потребоваться запустить Nopepad.exe как администратор, чтобы сделать это)

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

127.0.0.1 localhost

0 голосов
/ 10 сентября 2013

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

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

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

0 голосов
/ 30 января 2013

Просто добавив это сюда ... Я сталкивался с этим (и другими подобными решениями), но только недавно обнаружил проблему.У меня была проблема с моей пользовательской сборкой 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 голосов
/ 25 декабря 2012

Пожалуйста, найдите решение, как показано ниже.

Примечание (1024): измените значение «Security.salt» в app / 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 доступен для записи.

Решение: дать правильное разрешение для этого пути app / tmp

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...