Я использую 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. Вместо написания исходного кода с нуля, используя фреймворк, вы можете наследовать все его функциональные возможности, которые ускоряют ваше время разработки, помогут вам более легко справиться с более сложной структурой / процедурами.
Если вы еще не решили проблему соединения с базой данных, попробуйте выполнить проверку работоспособности этих битов.
'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», а не любого другого пользователя. Надеюсь это поможет.
Также проверьте это .