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

Я использую 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. 

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

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

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

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

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

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

extension = php_pdo_mysql.dll (Windows)

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

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

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

sudo apt-get install php5-mysql

Перезагрузка sudo /etc/init.d/apache2

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

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

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

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

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

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

  • 'driver' (ok in 1.3) был переименован в 'datasource'
  • 'mysql' (ok в 1.3) должен быть указан как 'Database / Mysql'

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

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

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

Уведомление (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 доступен для записи.

Решение. Дайте правильное разрешение для этого пути. App / tmp

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

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

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

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

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

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

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

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

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

Windows не смогла разрешить 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

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

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

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