Установка CakePHP может быть и сногсшибательно проста, как простое копирование в вашу корневую директорию на веб-сервере, так и максимально гибка и настраиваема, как вы пожелаете. В этом разделе мы охватим три варианта установки Cake: для программиста, для одного сайта и расширенную установку.
Просто поместите распакованный архив с CakePHP внутрь вашей корневой директории (webroot). Например, если для вебсервера является корнем путь /var/www/html, то файлы Cake должны располагаться таким образом:
Чтобы увидеть как работает Cake, наберите в браузере http://www.example.com/cake/.
Чтобы установить CakePHP таким образом — вам необходимо иметь права на изменение корневой веб-директории вашего сервера. Эти изменения приведут к тому что весь ваш сайт будет работать как единое CakePHP приложение.
При такой установке используется следующая схема расположения файлов:
Если ваше приложение устанавливается на сервере Apache, то директиву DocumentRoot необходимо установить следующим образом:
DocumentRoot /path_to_cake_install/app/webroot
Чтобы увидеть как работает Cake, наберите в браузере http://www.example.com.
Может возникнуть ситуация, когда вам будет необходимо установить части CakePHP в разные директории, или даже на разные диски в системе. Это может быть связано с ограничениями хостинга или с тем, что вы хотите заставить работать несколько сайтов с одним ядром Cake.
Для начала вам необходимо узнать, что существуют три независимые части CakePHP:
Каждая из этих директорий может быть расположена в любом месте системы, за исключением webroot, которая обязательно должна быть доступна с точки зрения директивы Document Root?. Можно вынести папку webroot за пределы папки app, вы потом расскажете системе где искать ее части.
Чтобы указать системе где хранятся ее части — надо немного изменить файл /app/webroot/index.php. Есть три константы, значения которых нужно поменять: ROOT, APP_DIR и CAKE_CORE_INCLUDE_PATH.
Давайте проверим вышеописанное на примере. Предположим, я захотел установить CakePHP следующим образом:
Учитывая все мои пожелания необходимо изменить файл webroot/index.php (который в примере расположен в /var/www/mysite/index.php) следующим образом:
if (!defined('ROOT')) {
define('ROOT', DS.'home'.DS.'me');
}
if (!defined('APP_DIR')) {
define ('APP_DIR', 'mysite');
}
if (!defined('CAKE_CORE_INCLUDE_PATH')) {
define('CAKE_CORE_INCLUDE_PATH', DS.'usr'.DS.'lib'.DS.'cake');
}
Рекомендуется использовать константу DS вместо косой черты (/) для разделения директорий. За счет этого у вас не возникнет проблем при переносе кода с одной операционной системы на другую.
Если вам необходимо разделить части MVC архитектуры между несколькими приложениями на CakePHP, то вы можете в файле bootstrap.php указать пути, по которым следует искать ваши Модели, Контроллеры или Отображения, а так же помогающие им Поведения, Компоненты и Помощники.
Вот несколько переменных, которые можно определить в файле bootstrap.php для выполнения этой задачи:
$viewPaths = array();
$controllerPaths = array();
$modelPaths = array();
$helperPaths = array();
$componentPaths = array();
$behaviorPaths = array();
Элементами массива могут быть так же полные пути в файловой системе. Не забудьте поставить слеш в конце каждого пути.
Хотя CakePHP и настроен изначально таким образом чтобы работать сразу с mod_rewrite — мы заметили что у некоторых пользователей не выходит получить красивые URL-адреса, и они ведут непримиримую борьбу с настройками. Вот несколько советов, которые помогут заставить работать все так, как вам бы того хотелось:
Хорошо, давайте посмотрим на CakePHP в действии. В зависимости от вашей установки наберите в браузере http://example.com/ или http://example.com/cake_install/. На текущий момент перед вами предстанет страница домашняя страница CakePHP с информацией о настройке базы данных и кеширования.
Поздравляем! Теперь вы готовы к созданию первого приложения на CakePHP!
<< Подготовка к установке | Настройка >>
установка cake
При установке возникли 2 проблемки.
1. Нужно было определить БД определил, все нет прблемы.
2. Ошибка непонятная:
Notice (1024): Please change the value of 'Security.salt?' in app/config/core.php to a salt value specific to your application [CORE\cake\libs\debugger.php, line 541]
По указанному адресу функция checkSessionKey()
При нажатии извещения (нотайс) появляется следующий набор:
Debugger::checkSessionKey() – CORE\cake\libs\debugger.php, line 541
include – CORE\cake\libs\view\pages\home.ctp, line 31
View::_render() – CORE\cake\libs\view\view.php, line 654
View::render() – CORE\cake\libs\view\view.php, line 372
Controller::render() – CORE\cake\libs\controller\controller.php, line 744
Pages Controller?::display() – CORE\cake\libs\controller\pages_controller.php, line 84
Object::dispatchMethod() – CORE\cake\libs\object.php, line 116
Dispatcher::_invoke() – CORE\cake\dispatcher.php, line 259
Dispatcher::dispatch() – CORE\cake\dispatcher.php, line 213
[main] – APP\webroot\index.php, line 90
Подскажите как с этим бороться плз.
2. надо опредилить уникальний ключ, просто изменить несколько символов или весь хеш
app/config/core.php line 153
Configure::write('Security.salt?', 'DYhG93b0qyJfI21s2guVoUubWwvniR2G0FgaC9mi');
спасиб, давно сам разобрался, забыл тут отписаться. :) Все равно спасиб.