4.6 KiB
Installatie
- Download de laatste stabiele release van de Kohana website.
- Unzip het gedownloade pakket om de
kohana
folder aan te maken. - Upload de inhoud van deze folder naar je webserver.
- Open
application/bootstrap.php
en maak de volgende aanpassingen:- Stel de standaard timezone in voor je applicatie
- Stel de
base_url
in de [Kohana::init] methode in om te verwijzen naar de locatie van de kohana folder op je server
- Zorg ervoor dat de
application/cache
enapplication/logs
folders schrijfrechten hebben voor de web server - Test je installatie door de URL te openen in je favoriete browser dat je hebt ingesteld als
base_url
[!!] Afhankelijk van je platform is het mogelijk dat de installatie subfolders hun rechten verloren hebben tijdens de zip extractie. Chmod ze allemaal met 755 door het commando find . -type d -exec chmod 0755 {} \;
uit te voeren in de root van je Kohana installatie.
Je zou de installatie pagina moeten zien. Als het errors toont, zal je ze moeten aanpassen vooraleer je verder kunt gaan.
Eens je installatie pagina zegt dat je omgeving goed is ingesteld dan moet je de install.php
pagina hernoemen of verwijderen in de root folder. Je zou nu de de Kohana welcome pagina moeten zien:
Een productie-omgeving opzetten
Er zijn enkele dingen dat je best doet met je applicatie vooraleer je deze in productie plaatst:
- Bekijk de configuratie pagina in de documentatie. Dit omvat het grootste gedeelte van de globale instellingen dat zouden moeten veranderen bij andere omgevingen. Als algemene regel, zet je best caching aan en zet je profiling uit ([Kohana::init] settings) voor sites in productie. Route caching kan ook helpen als je heel wat routes hebt.
- Catch alle exceptions in
application/bootstrap.php
, zodat gevoelige gegevens niet kan worden gelekt door stack traces. Zie onderstaand voorbeeld van Shadowhand's wingsc.com broncode. - Zet APC of een andere soort opcode caching aan. Dit is het enige en eenvoudigste manier om de performantie te verbeteren dat je kunt doen in PHP zelf. Hoe complexer je applicatie, hoe groter het voordeel van opcode caching.
[!!] Opmerking: De standaard bootstrap zal Kohana::$environment = $_ENV['KOHANA_ENV'] instellen indien ingesteld. Documentatie hoe je deze variable moet invullen kan je vinden in je webservers documentatie (e.g. Apache, Lighttpd, Nginx)). Deze manier wordt als beste beschouwd in vergelijking met de alternatieve manieren om Kohana::$environment in te stellen.
/**
* Stel de omgeving in aan de hand van het domein (standaard Kohana::DEVELOPMENT).
*/
Kohana::$environment = ($_SERVER['SERVER_NAME'] !== 'localhost') ? Kohana::PRODUCTION : Kohana::DEVELOPMENT;
/**
* Initialiseer Kohana op basis van de omgeving
*/
Kohana::init(array(
'base_url' => '/',
'index_file' => FALSE,
'profile' => Kohana::$environment !== Kohana::PRODUCTION,
'caching' => Kohana::$environment === Kohana::PRODUCTION,
));
/**
* Voer de algemene request uit met PATH_INFO. Als er geen URI is gespecifeerd,
* dan zal de URI automatisch worden gedetecteerd.
*/
$request = Request::instance($_SERVER['PATH_INFO']);
try
{
// Propeer het request uit te voeren
$request->execute();
}
catch (Exception $e)
{
if (Kohana::$environment == Kohana::DEVELOPMENT)
{
// Just re-throw the exception
throw $e;
}
// De error loggen
Kohana::$log->add(Kohana::ERROR, Kohana::exception_text($e));
// Maak een 404 uitvoer
$request->status = 404;
$request->response = View::factory('template')
->set('title', '404')
->set('content', View::factory('errors/404'));
}
if ($request->send_headers()->response)
{
// Verkrijg totaal aantal geheugen en snelheids tijd
$total = array(
'{memory_usage}' => number_format((memory_get_peak_usage() - KOHANA_START_MEMORY) / 1024, 2).'KB',
'{execution_time}' => number_format(microtime(TRUE) - KOHANA_START_TIME, 5).' seconds');
// Stel de totalen in, in de uitvoer
$request->response = str_replace(array_keys($total), $total, $request->response);
}
/**
* Toon de uitvoer dan het request.
*/
echo $request->response;