Установка и настройка

Комментарии: 88  Просмотры: 74 672

Чтобы работать с фреймворком, нужно конечно иметь сам фреймворк. С этим нет абсолютно никаких проблем. Скачивание быстрое, бесплатное и по прямой ссылке. Заходим на официальный сайт Kohana — http://kohanaframework.org/ и там в правом верхнем углу будет большая оранжевая кнопка:
На данный момент самая последняя стабильная версия — это 3.2.0 (собственно ее и изучаем). В дальнейшем возможно появятся более новые версии, так как данный фреймворк очень бодро развивается в отличие от Code Igniter-а.
Все, что находится в архиве, (а это три папки: application, modules и system, а также несколько файлов) распаковываем в папку, где мы будем создавать сайт. На хостинге это обычно папка http. Но туда заливать архив еще рано. Пока будем работать локально, у себя на компьютере. У меня установлен Denwer и я распаковал архив в папку z:\home\kohana\www\. Предлагаю вам сделать тоже самое. Теперь нужно перезапустить Denwer и зайти по адресу http://kohana/. Если все сделано правильно, вы должны увидеть следующее:

Внизу, на зеленом фоне, нам предлагают удалить файл install.php. Послушаемся и сделаем это. Если теперь обновить страницу, то мы должны увидеть набившую оскомину фразу hello, world!.
Собственно это и все, у нас уже есть рабочий сайт, который даже выводит какой-то текст. А вот чтобы на страницах выводилось что-то другое, нужно уже копаться в файлах фреймворка. Для начала рассмотрим файловую структуру. Как вы уже заметили, фреймворк состоит из трех папок и четырех (пяти, но файл install.php мы удалили) файлов в корне. Файлы — это example.htaccess, в котором прописаны настройки сервера (как бы образец), index.php — основной файл, который является точкой входа. В нем производятся определенные настройки, например вывод ошибок, установка путей, а также происходит подключение файлов. Кажется, что там очень много всего, но на самом деле там почти все — это комментарии. Подробнее index.php будет рассмотрен позже.

Кстати в нем же находятся следующие строчки:

if (file_exists('install'.EXT))
{
    // Load the installation check
    return include 'install'.EXT;
}

с помощью которых и происходит загрузка того самого файла install.php, но перед этим идет проверка на его существование. А так как его нет, то … на нет и суда нет.
Ну и последние два файла — это файл Лицензии и файл Readme. По идее их можно удалить, думаю разработчики Коханы не сильно обидятся.
В папке system находится само ядро фреймворка. Крайне нежелательно там ничего менять. В папке modules, как понятно по названию, находятся различные модули. Например модуль работы с картинками, модуль авторизации, модуль для работы с базой данных и другие. Туда же можно добавлять и другие модули, которых там нет. Например, для работы с почтой. Ну и наконец папка application, где мы с вами и будем создавать свои проекты. И в следующем разделе мы этим уже займемся.

<< Назад | Вперед >> | Обсудить на форуме


К записи оставлено 88 коммент.

а вот что пишет по адресу http://kohana/welcome/test Not Found

The requested URL /welcome/test-???????±???°,???????????°?¶???‚?µ was not found on this server.

пипец какой-то

При установка kohana на XAMPP 1.7.4 и удалении файла install.php возникает 404-я ошибка.

HTTP_Exception_404 [ 404 ]: The requested URL kohana was not found on this server.

Обращение выполнялось по локальному адресу:
http://localhost/kohana

Лечится установкой ‘base_url’ в файле localhost/kohana/application/bootstrap.php
Надо указать путь от корня (от localhost) до index.php, т.е. так:
Kohana::init(array(‘base_url’ => ‘/kohana/’, )
— другие установки если они есть

пруф: http://kohanaframework.org/3.1/guide/api/Kohana#init
base_url: The base URL for your application. This should be the relative path from your DOCROOT to your index.php file, in other words, if Kohana is in a subfolder, set this to the subfolder name, otherwise leave it as the default. The leading slash is required, trailing slash is optional.

Думаю, что с каждым новичком происходит одно и то же. Возникающая ошибка происходит из-за того, что новичок просто копирует каталог сайта, например, в папку htdocs. Так для установленного XAMPP. Но тут надо еще создать виртуальный хост, и в строке браузера вызывать имя виртуального хоста. Если виртуальный хост создан и назван, например, kohana, то после удаления файла install.php и вызова в строке браузера
http://kohana
действительно появляется надпись «hello, world».

Спасибо автору за содержательную вступительную статью, вот только не все описано до конца. После загрузки всех файлов на сервер:
Во-первых, сразу возникло предупреждение о том, что некоторые папки закрыты на запись, думаю, раз этот раздел предназначен для новичков, то стоило бы упомянуть об этом и вставить ссылочку на небольшой мануальчег, что это и как это исправить;
Во-вторых, после удаления файла install.php возникла ошибка о том, что константа solt не заполнена (к сожалению пишу каммент уже после того как решил проблему и поэтому не могу привести текст ошибки).

В общем-то, доработать бы статейку. Могу оказать посильную помощь в этом направлении. А так, все в целом кратко и понятно.

1) Какие ?
2) Не про это речь, случайно ? http://kohanaframework.su/helpers/helpers_cookie_encrypt

1) Точно не помню, сейчас уже лень заново её накатывать что бы посмотреть. Точно помню было сообщение о двух директориях application/cache и еще какая-то.
2) Да, с помощь этой статьи и решил возникшую проблему, блага Гугул привел меня к ней, а вот если бы Вы в статье это где нибудь упомянули что-то вроде «Если после удаления файла install.php вместо надписи Hello World! вы увидели сообщение об ошибке {текст сообщения об ошибке}, то лечите её этой статьей, тык»
И людям приятно, и блогу дополнительная внутренняя перелинковка;)

1) Ни разу подобных ошибок не получал. В application/cache вполне нормально себе пишется тот же кеш роутинга http://kohanaframework.su/advanced/route_p3 (самый низ статьи), при этом права стоят по дефолту — 705. Ничего не трогал.

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

Я ставлю Kohana3.2.2 на Denwer, удаляю install.php выскакивает ошибка — Kohana_Exception [ 0 ]: A valid cookie salt is required. Please set Cookie::$salt. Ставил в bootstrap.php над массивами Cookie::$salt = ‘random’; и цифры ставил ничего не попмогает — выплевывает ошибку -
Fatal error: Class ‘Cookie’ not found in Z:\home\localhost\www\kohana\application\bootstrap.php on line 44. Смотрел по формуам ответа не нашел…./config/config.php этого файла у меня нет пустая папка…Подскажите что делать?

строчку с Cookie::$salt пиши прямо над обявлением массива модулей Kohana::modules(array(

kohana-3.3.0

Denwer3_Base_2012-09-16_a2.2.22_p5.3.13_m5.5.25_pma3.5.1_xdebug

Удалил install.php и получил сдачи…..:(
Kohana_Exception [ 0 ]: A valid cookie salt is required. Please set Cookie::$salt.

SYSPATH\classes\Kohana\Cookie.php [ 152 ]

как лечить? подскажите…

При запуские kohana выдается сообщение:
Kohana_Exception [ 0 ]: A valid cookie salt is required. Please set Cookie::$salt.

SYSPATH\classes\Kohana\Cookie.php [ 152 ]
147 public static function salt($name, $value)
148 {
149 // Require a valid salt
150 if ( ! Cookie::$salt)
151 {
152 throw new Kohana_Exception(‘A valid cookie salt is required. Please set Cookie::$salt.’);
153 }
154
155 // Determine the user agent
156 $agent = isset($_SERVER['HTTP_USER_AGENT']) ? strtolower($_SERVER['HTTP_USER_AGENT']) : ‘unknown’;
157

SYSPATH\classes\Kohana\Cookie.php [ 67 ] » Kohana_Cookie::salt(arguments)

SYSPATH\classes\Kohana\Request.php [ 155 ] » Kohana_Cookie::get(arguments)

DOCROOT\index.php [ 117 ] » Kohana_Request::factory(arguments)

Что делать?

Поднимите глаза чуть повыше. Там аналогичная проблема у человека была ))

Большое спасибо! Простите за «простоту» дилетанта….

Здравствуйте, скажите пожалуйста можно ли как то это исправить???

Fatal error: Undefined class constant ‘Log::EMERGENCY’ in /home/myblogpr/public_html/system/classes/Kohana/Kohana/Exception.php on line 140

В связи с чем возникает ?



Оставить комментарий или два

Пожалуйста, зарегистрируйтесь для комментирования.