Development

Documentation/nl_NL/book/1.0/03-Running-Symfony

You must first sign up to be able to contribute.

Version 15 (modified by snowkrash, 10 years ago)
Vertaald: conclusie - Hoofdstuk 3 afgerond.

Hoofdstuk 3 - Symfony Draaien

Zoals je in de vorige hoofdstukken hebt geleerd is het symfony framework een set van bestanden geschreven in PHP. Een symfony project gebruikt deze bestanden, dus betekent het installeren van symfony het ophalen van deze bestanden en het beschikbaar stellen van deze bestanden aan het project.

Zijnde een PHP 5 framework, vereist symfony PHP 5. Zorg ervoor dat je dit hebt geinstalleerd door het openen van een commandline en het typen van het volgende commando:

> php -v

PHP 5.2.0 (cli) (built: Nov 2 2006 11:57:36)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2006 Zend Technologies

Als het nummer gelijk aan of hoger is dan 5.0, ben je klaar voor de installatie die in dit hoofdstuk is omschreven.

Installeren van de Sandbox

Als je alleen wilt zien waartoe Symfony in staat is, dan zul je waarschijnlijk kiezen voor de snelle installatie. In dat geval heb je de sandbox nodig.

De sandbox is een simpel archief van bestanden. Het bevat een leeg Symfony project, inclusief alle benodigde bibliotheken (Symfony, Pake, Lime, Creole, Propel en Phing), een standaard applicatie met een basis configuratie. Het werkt direct zonder specifieke server configuratie of toegevoegde pakketten.

Om het te installeren, download het Sandbox archief van http://www.symfony-project.com/get/sf_sandbox.tgz. Pak het uit onder de directory waarop je de root directory van je webserver hebt ingesteld (meestal web/ of www/). Voor de uniformiteit is in dit hoofdstuk aangenomen dat je het archief hebt uitgepakt onder de directory sf_sandbox/.

Alle bestanden onder de root web directory is prima voor eigen tests op een lokale host, maar is niet verstandig in een productieomgeving. Alle interne code van je applicatie is dan zichtbaar voor eindgebruikers.

Test je applicatie door de Symfony CLI uit te voeren. Ga naar je nieuwe sf_sandbox/ directory en type het volgende op een *nix systeem:

> ./symfony -V

Op windows, voer het volgende commando uit:

> symfony -V

Je zou nu het Sandbox versienummer moeten zien:

symfony version 1.0.0

Verzeker je ervan dat je webserver de Sandbox benaderen kan door deze URL op tevragen:

http://localhost/sf_sandbox/web/frontend_dev.php/

Je zou nu een welkomstpagina moeten zien dat lijkt op figuur 3-1 en dat betekent dat je installatie klaar is. Zo niet, dan zal een foutmelding je begeleiden door de benodigde configuratiewijzigingen. Je kan ook de "Probleemoplossing" paragraaf later in dit hoofdstuk raadplegen.

Figuur 3-1 - Sandbox welkomstpagina

http://www.symfony-project.org/images/book/1_0/F0301.jpg

De Sandbox is bedoeld zodat je met Symfony op een lokale computer kunt oefenen, niet om er complexe webapplicaties van te maken die op het web eindigen. Echter, de versie van Symfony die bij de Sandbox is meegeleverd is volledig functioneel en equivalent aan de versie die je via PEAR kunt installeren.

Om een Sandbox te deïntalleren hoef je slechts de sf_sandbox/ directory uit je web/ folder te verwijderen.

Installeren van de Symfony Libraries

Bij het ontwikkelen van een applicatie zal je waarschijnlijk symfony tweemaal moeten installeren: Een keer voor je ontwikkelomgeving en een keer voor de hosting server (tenzij je host op een server waar symfony al op geinstalleerd is). Voor elke server wil je waarschijnlijk voorkomen dat er dubbele installaties gebeuren door alle symfony bestanden op een enkele lokatie te bewaren, of je nou een of meerdere applicaties ontwikkeld.

Omdat het symfony framework snel evolueert, zou het kunnen zijn dat een nieuwe stabiele versie wordt uitgebracht een paar dagen na je eerste installatie. Je moet nadenken over het upgraden van het framework als ware het een groot probleem, en dat is nog een reden waarom je een enkele installatie van symfony zou moeten delen binnen al je symfony projecten.

Wanneer het aankomt op het installeren van de libraries voor echte applicatie ontwikkeling, heb je twee alternatieven:

  • De PEAR installatie wordt aangeraden voor de meeste mensen. Het kan makkelijk worden gedeeld en geupgrade, en het installatie proces is erg makkelijk.
  • De Subversion (SVN) installatie is bedoeld om gebruikt te worden voor vergevorderde PHP ontwikkelaars, die graag het voordeel van de laatste patches willen gebruiken, zelf features willen toevoegen, en/of willen bijdragen aan het symfony project.

Symfony integreert een aantal andere softwarepakketten:

  • pake is een CLI utility.
  • lime is een unit testing utility.
  • Creole is een database abstractie engine. Net als PHP Data Objects (PDO) bied het een interface tussen jouw code en de database SQL code, en maakt het mogelijk om naar een andere database engine te switchen.
  • Propel is voor ORM. Het bied object persistence en query diensten.
  • Phing is een CLI voor Propel

Pake en lime worden ontwikkeld door het symfony team. Creole, Propel en Phing komen van een ander team en worden beschikbaar gesteld onder de GNU Lesser Public General License (LGPL). All deze softwarepakketten worden meegeleverd met symfony.

Het installeren van de symfony PEAR package

De symfony PEAR package bevat de symfony libraries en alle afhankelijkheden. Het bevat ook een script dat je CLI zal uitbreiden om het symfony commando toe te voegen.

De eerste stap voor het installeren is om het symfony channel aan PEAR toe te voegen, door het volgende commando uit te voeren:

> pear channel-discover pear.symfony-project.com

Om de libraries te zien die beschikbaar zijn in dit channel, typ het volgende:

> pear remote-list -c symfony

Nu ben je klaar om de laatste stabiele versie van symfony te installeren. Voer dit commando uit:

> pear install symfony/symfony

downloading symfony-1.0.0.tgz ...
Starting to download symfony-1.0.0.tgz (1,283,270 bytes)
.................................................................
.................................................................
.............done: 1,283,270 bytes
install ok: channel://pear.symfony-project.com/symfony-1.0.0

Dat is het. De symfony bestanden en CLI zijn geinstalleerd. Check of de installatie succesvol is verlopen door de nieuwe symfony command line aan te spreken, bijvoorbeeld door het versie nummer op te vragen:

> symfony -V

symfony version 1.0.0

Als je de voorkeur geeft aan de meest recente beta versie, die de laatste bugfixes en toevoegen bevat, typ pear install symfony/symfony-beta . Beta releases zijn niet compleet stabiel en worden over het algemeen niet aangeraden voor productie omgevingen.

De symfony libraries zijn nu geinstalleerd in de directories zoals hierover weergegeven:

  • $php_dir/symfony/ bevat de belangrijkste libraries.
  • $data_dir/symfony/ bevat het skelet van een symfony applicatie; standaard modules; en configuratie, i18n gegevens, en dergelijke.
  • $doc_dir/symfony/ bevat de documentatie.
  • $test_dir/symfony/ bevat unit tests.

De _dir variabelen zijn onderdeel van je PEAR configuratie. Om hun waardes te zien kan je het volgende typen:

> pear config-show

Symfony uitchecken uit de SVN repository

Voor productie servers, of wanneer PEAR geen optie is, kan je de laatste versie van de symfony libraries direct downloaden uit de symfony Subversion repository door een checkout te doen:

> mkdir /path/to/symfony
> cd /path/to/symfony
> svn checkout http://svn.symfony-project.com/tags/RELEASE_1_0_0/ .

Het symfony commando, dat alleen beschikbaar is voor PEAR installaties, is een aanroep aan het /path/to/symfony/data/bin/symfony script. Dus het volgende zou het equivalent zijn voor het symfony -V commando voor een SVN installatie:

> php /path/to/symfony/data/bin/symfony -V

symfony version 1.0.0

Als je kiest voor een SVN installatie, dan heb je waarschijnlijk al een bestaand symfony project. Om dit project gebruik te laten maken van de symfony bestanden, moet je de twee variabelen aanpassen die in de config/config.php van je project worden gedefinieerd, als volgt:

<?php
 
$sf_symfony_lib_dir  = '/path/to/symfony/lib/';
$sf_symfony_data_dir = '/path/to/symfony/data/';

Hoofdstuk 19 stelt andere manieren voor om een project met een symfony installatie te linken (waaronder symbolic links en relatieve paden).

Je kan ook de PEAR package (http://pear.symfony-project.com/get/symfony-1.0.0.tgz) downloaden en uitpakken. Dit heeft hetzelfde resultaat als een checkout.

Een applicatie opzetten

Zoals je hebt geleerd in Hoofdstuk 2, houdt symfony alle gerelateerde applicaties in projecten. Alle applicaties van een project delen dezelfde databases. Dus om een applicatie op te zetten, moet je eerst een project opzetten.

Een project opzetten

Elk symfony project volgt een van te voren vastgestelde directory structuur. De symfony command line automatiseert het aanmaken van nieuwe projecten door een skelet van het project te initialiseren, met de juiste boomstructuur en toegangsrechten. Dus, om een project aan te maken, maak je simpelweh een nieuwe directory aan en vraag je symfony om het een project te maken.

Voor een PEAR installatie, voer de volgende commando's uit:

> mkdir ~/myproject
> cd ~/myproject
> symfony init-project myproject

Voor een SVN installatie, maak een project aan met de volgende commando's:

> mkdir ~/myproject
> cd ~/myproject
> php /path/to/symfony/data/bin/symfony init-project myproject

Het symfony commando moet altijd worden aangeroepen vanuit de root directory van een project (myproject/ in de voorgaande voorbeelden), omdat alle taken die door dit commando worden uitgevoerd project-specifiek zijn.

Symfony zal een directory structuur aanmaken die er zo uit ziet:

  apps/
  batch/
  cache/
  config/
  data/
  doc/
  lib/
  log/
  plugins/
  test/
  web/

De init-project taak voegt een symfony script toe aan de root directory van het project. Dit PHP script doet hetzelfde als het symfony commando dat door PEAR geinstalleerd wordt, dus je kan ook php symfony aanroepen in plaats van symfony als je geen command-line ondersteuning hebt (voor SVN installaties)

De applicatie aanmaken

Het project is not niet klaar om bekeken te worden, omdat het minimaal een applicatie nodig heeft. Om deze te initialiseren, gebruik je het symfony init-app commando en geef je de naam van de applicatie als argument mee:

> symfony init-app myapp

Dit zal de myapp/ directory toevoegen aan de apps/ directory van de root van het project, met een standaard applicatie configuratie en een set met directories die klaar staan om de bestanden van je website te hosten:

apps/
  myapp/
    config/
    i18n/
    lib/
    modules/
    templates/

Sommige PHP bestanden die overeenkomen met de front controllers van elke standaard omgeving worden aangemaakt in de web directory van het project:

web/
  index.php
  myapp_dev.php

index.php is de productie front controller van de nieuwe applicatie. Omdat dit de eerste applicatie is die je in het project aanmaakt, noemt symfony het bestand index. in plaats van myapp.php (als je nu een nieuwe applicatie toevoegt genaamd mynewapp, zal de nieuwe productie front controller mynewapp.php genoemd worden). Om je applicatie in de ontwikkel omgeving te draaien, roep je de front controller myapp_dev.php aan. Je leert meer hierover in Hoofdstuk 5.

Instellen van de Webserver

De scripts in de web/ folder zijn de toegangspunten tot de applicatie. Om er vanaf het Internet toegang tot te krijgen, moet de webserver ingesteld worden. Zowel op je ontwikkelserver als bij een professionnele hosting oplossing heb je waarschijnlijk toegang tot de Apache configuratie en kan je een virtual host instellen. Op een shared-host server heb je waarschijnlijk alleen toegang tot een .htaccess bestand.

Instellen van een Virtual Host

Listing 3-1 is een voorbeeld van een Apache configuratie waarbij een nieuwe virtual host wordt toegevoegd aan het httpd.conf bestand.

Listing 3-1 - Voorbeeld Apache configuratie, in apache/conf/httpd.conf

<VirtualHost *:80>
  ServerName myapp.example.com
  DocumentRoot "/home/steve/myproject/web"
  DirectoryIndex index.php
  Alias /sf /$sf_symfony_data_dir/web/sf
  <Directory "/$sf_symfony_data_dir/web/sf">
    AllowOverride All
    Allow from All
  </Directory>
  <Directory "/home/steve/myproject/web">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

In de configuratie in Listing 3-1 moet de plaatshouder $sf_symfony_data_dir vervangen worden door het effectieve pad. Bijvoorbeeld, bij een PEAR installatie in *nix, zou je iets gelijkaardig aan het volgende moeten typen:

Alias /sf /usr/local/lib/php/data/symfony/web/sf

De alias naar de web/sf/ map is niet verplicht. Het laat Apache toe om afbeeldingen, stylesheets en JavaScript bestanden te vinden die gebruikt worden voor de web debug toolbar, de admin generator, de standaard symfony pagina's en de Ajax ondersteuning. Een alternatief voor de alias is het maken van een symbolische link (symlink) of het kopieren van de /path/naar/symfony/data/web/sf/ map naar myproject/web/sf/.

Herstart Apache en je bent er. Je nieuw aangemaakte applicatie kan nu opgeroepen en bekeken worden door een standaard webbrowser op de volgende URL:

http://localhost/myapp_dev.php/

Je zou nu een felicitatiepagina moeten zien, gelijkaardig aan de pagina die getoond wordt in Figuur 3-1.

URL Rewriting

Symfony gebruikt URL rewriting om "slimme URLs" weer te geven --betekenisvolle locaties die goed weergegeven worden op zoekmachines en alle technische gegevens voor de gebruiker verbergen. Je zal nog meer leren over deze feature, die routing genoemd wordt, in hoofdstuk 9.

Als jouw versie van Apache niet gecompileerd is met de mod_rewrite module, controleer dan of je de mod_rewrite Dynamic Shared Object (DSO) geïnstalleerd hebt en voeg de volgende regels toe in je httpd.conf:

AddModule mod_rewrite.c LoadModule rewrite_module modules/mod_rewrite.so

Voor Internet Information Services (IIS) zal je isapi/rewrite geinstalleerd en draaiende moeten hebben. Ga de symfony online documentatie na voor een gedetailleerde installatiegids voor IIS.

Instellen van een Shared-Host Server

Een applicatie opzetten op een shared host is een beetje ingewikkelder, aangezien de host meestal een vastgelegde directorystructuur heeft wlke niet veranderd kan worden.

Testen en ontwikkelen op een shared host is geen goed idee. Eén reden is dat de applicatie zichtbaar is terwijl het nog niet af is, waarbij interne structuur zichtbaar is en er gaten in de beveiliging zitten. Een andere reden is dat door de debugfaciliteiten de snelheid te laag is om er comfortabel overheen te surfen. Begin dus niet op de shared host met ontwikkelen, maar doe dit lokaal en publiceer de applicatie op de shared host wanneer het klaar is. Hoofdstuk 16 vertelt meer over publicatietechnieken en hulpmiddelen.

Laten we zeggen dat op de shared host de web folder www/ genaamd is in plaats van web/ en je hebt geen toegang tot het httpd.conf bestand, maar wel tot een .htaccess bestand in deze webfolder.

In een Symfony project is elk pad naar een directory te configureren. Hoofdstuk 19 zal je hier meer over vertellen, maar intussen kun je de web directory hernoemen naar www en kun je de applicatie hier rekening mee laten houden door de configuratie te wijzigen, zoals weergegeven in Listing 3-2. Deze regels moeten toegevoegd worden aan het einde van het config.php bestand van de applicatie.

Listing 3-2 - De standaard directorystructuurinstellingen wijzigen in in apps/myapp/config/config.php

$sf_root_dir = sfConfig::get('sf_root_dir');
sfConfig::add(array(
  'sf_web_dir_name' => $sf_web_dir_name = 'www',
  'sf_web_dir'      => $sf_root_dir.DIRECTORY_SEPARATOR.$sf_web_dir_name,
  'sf_upload_dir'   => $sf_root_dir.DIRECTORY_SEPARATOR.$sf_web_dir_name.DIRECTORY_SEPARATOR.sfConfig::get('sf_upload_dir_name'),
));

De web root van het project bevat standaard een .htaccess bestand. Het is in listing 3-3 weergegeven. Wijzig het om het aan de eisen van de shared host omgeving te laten voldoen.

Listing 3-3 - Standaard .htaccess configuratie, nu in myproject/www/.htaccess

Options +FollowSymLinks +ExecCGI

<IfModule mod_rewrite.c>
  RewriteEngine On

  # we skip all files with .something - vert. we negeren alle bestanden met .something
  RewriteCond %{REQUEST_URI} \..+$
  RewriteCond %{REQUEST_URI} !\.html$
  RewriteRule .* - [L]

  # we check if the .html version is here (caching) - vert. we controleren of de .html versie aanwezig is (caching)
  RewriteRule ^$ index.html [QSA]
  RewriteRule ^([^.]+)$ $1.html [QSA]
  RewriteCond %{REQUEST_FILENAME} !-f

  # no, so we redirect to our front web controller - vert. nee, dus we sturen de aanvraag door naar de front web controller
  RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

# big crash from our front web controller - vert. harde crash van de front web controller
ErrorDocument 500 "<h2>Application error</h2>symfony application failed to start properly"

Je zou nu klaar moeten zijn om je eerste applicatie te bekijken. Bekijk de welkomstpagina door naar de volgende URL op te vragen:

http://www.example.com/myapp_dev.php/

Andere server configuraties

Symfony is compatible met andere server configuraties. Je kan bijvoorbeeld een Symfony applicatie benaderen door middel van een alias of een virtual host. Je kan een Symfony applicatie ook op een IIS server draaien. Er zijn zoveel technieken als configuraties en het is niet het doel van dit boek om ze allemaal te behandelen.

Voor uitleg over een specifieke server configuratie is er de Symfony wiki (http://www.symfony-project.com/trac/wiki) dat veel stap-voor-stap handleidingen biedt.

Probleemoplossing

Als je problemen tegenkomt tijdens de installatie, probeer goed gebruik te maken van de foutmeldingen en exceptions die in de shell of de browser verschijnen. Zij verklaren meestal zichzelf en kunnen zelfs links naar specifieke bronnen over je probleem op het web bevatten.

Typische problemen

Als je nog steeds problemen hebt om Symfony te draaien, controleer het volgende:

  • Sommige PHP installaties worden met zowel een PHP 4 als PHP 5 commando geleverd. In dat geval zal de commandoregel php5 zijn in plaats van php, probeer dus php5 symfony in plaats van het symfony commando. Je moet misschien ook SetEnv? PHP_VER 5 toevoegen aan je .htaccess configuratie of de scripts in de web/ directory hernoemen naar .php5 in plaats van .php. De foutmelding gegeven door een PHP 4 commando dat Symfony probeert te benaderen ziet er als volgt uit:

Parse error, unexpected ',', expecting '(' in .../symfony.php on line 19.

  • De memory limit in php.ini moet op minstens 16M staan. Het meet voorkomende symptoom van dit probleem is een foutmelding die verschijnt wanneer je Symfony via PEAR installeert of als je de commandoregel van Symfony gebruikt.

Allowed memory size of 8388608 bytes exhausted

  • De zend.ze1_compatibility_mode instelling in php.ini moet uit staan (off). Zo niet dan verschijnt er een "implicit cloning" foutmelding in de browser wanneer je een van de webscripts bekijkt:

Strict Standards: Implicit cloning object of class 'sfTimer' because of 'zend.ze1_compatibility_mode'

  • De log/ en cache/ directories in je project moeten beschrijfbaar zijn voor de webserver. Indien dit niet het geval is, treedt er een exception op indien je een Symfony applicatie benadert:

sfCacheException [message] Unable to write cache file "/usr/myproject/cache/frontend/prod/config/config_config_handlers.yml.php"

  • Het include path van je systeem moet het pad naar het php commando bevatten en het include path in php.ini moet een pad naar PEAR bevatten als je PEAR gebruikt
  • Soms is er meer dan één php.ini op het bestandssysteem van de server (bijvoorbeeld bij een WAMP installatie). Roep phpinfo() aan (PHP commando) om de exacte locatie van de juiste php.ini op te vragen.
  • Het is niet verplicht, maar wel streng aanbevolen (vanwege de prestaties) om magic_quotes_gpc en register_globals uit (off) te zetten in php.ini.

Symfony Naslagwerken

Je kan controleren of iemand anders het probleem ook is tegengekomen en op verschillende plekken oplossingen vinden:

Als je daar geen antwoord vindt, probeer je vraag dan te stellen aan de Symfony gemeenschap. Je kan je vraag in het forum plaatsen, de mailinglijst of zelfs op het #symfony IRC kanaal om suggesties te krijgen van de meest actieve leden van de gemeenschap.

Versiecontrole/beheer

Zodra de setup van de applicatie klaar is, is hed raadzaam een versiebeheerproces te starten. Versiebeheer houdt alle wijzigingen in de broncode bij, haalt oudere versies terug, maakt reparaties mogelijk (patching) en maakt efficiënt samenwerken mogelijk. Symfony ondersteunt standaard CVS, maar Subversion (http://subversion.tigris.org/) wordt aangeraden. De volgende voorbeelden laten de Subversion commando's zien en gaan er van uit dat een Subversion server geïnstalleerd is en dat je een nieuwe repository voor je project wil maken. Voor Windows gebruikers is is TortoiseSVN (http://tortoisesvn.tigris.org/) een geschikte Subverion client programma. Bekijk de Subversion documentatie voor meer informatie over versiebeheer en de hier gebruikte commando's.

Het volgende voorbeeld neemt aan dat $SVNREP_DIR is gedefinieerd als een omgevingsvariabele. Indien dit niet het geval is, dien je $SVNREP_DIR te vervangen door de exacte locatie naar de repository.

Zo, laten we de nieuwe repository aanmaken voor het myproject project:

svnadmin create $SVNREP_DIR/myproject

Nu wordt de basisstructuur van de repository aangemaakt met de trunk, tags en branches directories door middel van het volgende, vrij lange commando:

svn mkdir -m "layout creation" file:///$SVNREP_DIR/myproject/trunk file:///$SVNREP_DIR/myproject/tags file:///$SVNREP_DIR/myproject/branches

Dit wordt je eerste revisie. Nu moet je de bestanden van het project importeren, zonder de bestanden in de cache en log directories.

cd ~/myproject rm -rf cache/* rm -rf log/* svn import -m "initial import" . file:///$SVNREP_DIR/myproject/trunk

Controleer de committed bestanden door het volgende te typen:

svn ls file:///$SVNREP_DIR/myproject/trunk/

Dat ziet er goed uit. Nu heeft de SVN repository de referentieversie (en historie) van al je projectbestanden). Dit betekent dat de bestanden in de echte ~/myproject/ directory naar de repository moeten verwijzen. Om dit te doen, dien je eerst de myproject/ directorie te hernoemen --je gaat dit verwijderen zodra alles goed werkt-- en dan een checkout uitvoeren van de repository in een nieuwe directory:

cd ~ mv myproject myproject.origin svn co file:///$SVNREP_DIR/myproject/trunk myproject ls myproject

Dat is het. Nu kun je werken met de bestanden in ~/myproject/ en commit je wijzigingen naar de repository. Vergeet niet te schonen en de myproject.origin/ directory te verwijderen, welke nu nutteloos is.

Er is nog slecht een ding te regelen. Als je je werkdirectory commit naar de repository, kun je ongewilde bestanden kopiëren zoals die in de cache en log directories van je project. Je dient hiervoor een ignorelist aan te maken in SVN voor dit project. Ook dien je weer volledige schijftoegang te geven aan decache/ and log/ directories:

cd ~/myproject chmod 777 cache chmod 777 log svn propedit svn:ignore log svn propedit svn:ignore cache

De standaard voor SVN ingestelde teksteditor start nu. Indien dit niet het geval is, geef deze dan op aan SVN om te gebruiken:

export SVN_EDITOR=<name of editor> svn propedit svn:ignore log svn propedit svn:ignore cache

Voeg nu alle te negeren bestanden toe in de subdirectories van myproject/ die SVN moet negeren bij het committen:

*

Opslaan en afsluiten. Je bent klaar.

Samenvatting

Om met Symfony te kunnen spelen en het te testen op een lokale server, is de sandbox de beste optie voor installatie dat een vooraf geconfigureerde Symfony omgeving bevat.

Voor echte ontwikkeling of een productieserver, kies de PEAR installatie of de SVN checkout. Dit installeert de Symfony bibliotheken en je moet nog steeds een project en een applicatie aanmaken. De laatste stap van de applicatie setup is de server configuratie waar verschillende mogelijheden voor zijn. Symfony werkt perfect op een virtual host en dit is de beste optie.

Als je problemen hebt tijdens de installatie, zijn er veel handleidingen en antwoorden op veelgestelde vragen op de Symfony website. Indien nodig kun je je probleem stellen aan de Symfony gemeenschap en je zal snel een goed en effectief antwoord krijgen.

Zodra je project is aangemaakt is het een goed idee het op te nemen in een versiebeheersysteem.