Instalacja Symfony – Windows XP / Vista + WAMP
Krzysztof Karolczak | 29.02.2008Jak szybko i przyjemnie zainstalować Symfony Framework pod Windowsem? 15 minutowy poradnik, aby błyskawicznie rozpocząć zabawę.
Zakładam, że naszym domyślnym środowiskiem jest Windows XP lub Windows Vista i zaczynamy od zera, tzn. nie mamy jeszcze postawionego i skonfigurowanego żadnego serwera WWW.
Co nam będzie potrzebne?
- WAMP (2.0 w chwili pisania)
- i… to wszystko
Z WAMPa już zainstalujemy PEARa a potem dzięki niemu Symfony, ale po kolei:
Część 1 – Instalacja WAMPa
WAMP to samoinstalująca się paczka zawierająca Apacha, MySQLa i PHP 5 (5.2.8+) – czyli dokładnie to co potrzebujemy (i dodatkowo miły dodatek w postaci PhpMyAdmina oraz SQLitemanagera). Oczywiście nie jest to jedyna taka dostępna dystrybucja, podobnie działa np. XAMPP – wybór należy do Ciebie. Można też instalować wszystkie komponenty ręcznie… tylko po co?
WAMP powinien automatycznie wypakować swoje pliki (załóżmy że np. pod C:\wamp) i uruchomić się bezproblemowo. Voila! – działający serwer z domyślną konfiguracją już jest
. To nie zajęło za dużo czasu, prawda?
Większość elementów można skonfigurować przez menu skrótów dostępnego po kliknięciu na ikonkę WAMPA. WAMP “mówi” także po polsku – klikając na ikonę w trayu prawym przyciskiem myszy możemy wybrać rodzimy język z listy language.
Jeśli Twój WAMP nie chce poprawnie wystartować twierdząc, np. że port 80 jest już wykorzystywany (a nie masz uruchomionego innego serwera WWW) – przyczyną może być uruchomiony Skype. Domyślnie w opcjach Skype (Zaawansowane >> Połączenie) zaznaczone jest “Użyj portów 80 oraz 443 jako alternatywnych dla połączeń przychodzących” – wystarczy odznaczyć tą pozycję.
Aby Symfony poprawnie działał musimy także uruchomić obsługę PHP-XSL oraz Apache URL Rewrite Module (które domyślnie są wyłączone). Najpierw włączymy moduł Rewrite – klikamy na ikonkę WAMPa i z menu wybieramy Apache >> Moduły Apache i klikamy na rewrite_module (serwer automatycznie się zrestartuje). Teraz czas na XSL – postępując analogicznie PHP >> Rozszerzenia PHP i wybieramy php_xsl. Jednak istnieje jeszcze jeden plik php.ini, którego WAMP czasem nie zmienia (nie wiedzieć czemu) – zatem musimy ręcznie otworzyć C:\wamp\bin\php\php5.2.8\php.ini i usunąć średnik z poniższej linii:
;extension=php_xsl.dll
Teraz powinniśmy dodać zmienne środowiskowe by mięć dostęp do PHP i MySQL pod konsolą. Klikamy prawym przyciskiem myszy na Mój komputer i wybieramy Właściwości, następnie w zakładce Zaawansowane klikamy przycisk Zmienne środowiskowe. W zmiennych systemowych do zmiennej PATH dodajemy na końcu ;C:\wamp\bin\php\php5.2.8;C:\wamp\bin\mysql\mysql5.0.45\bin (ścieżki do naszych plików MySQLa i PHP rozdzielone średnikami).
Część 2 – Instalacja PEARa
PEAR (PHP Extension and Application Repository) to system dystrybucji rozszerzeń do języka PHP. Instalator dołączony jest domyślnie, więc i ten etap nie zajmuje dużo czasu.
Wchodzimy do katalogu PHP w WAMPie (np. C:\wamp\bin\php\php5.2.8\) i odpalamy plik go-pear.bat. Odpowiadamy na pytania instalatora by przygotować konfigurację – domyślna powinna być ok.
W katalogu PHP został dla nas utworzony plik PEAR_ENV.reg, który dla wygody doda nam automatycznie odpowiednie zmienne środowiskowe PEARa – należy go kliknąć dwukrotnie by wstawić odpowiednie dane do rejestru.
Część 3 – Instalacja Symfony
Otwieramy konsolę i wpisujemy:
> pear channel-discover pear.symfony-project.com
Jeśli wszystko się powiedzie ujrzymy:
Adding Channel “pear.symfony-project.com” succeeded
Discovery of channel “pear.symfony-project.com” succeeded
Przyszedł wreszcie ten upragniony czas by zainstalować Symfony:
> pear install symfony/symfony
Ściągnięcie paczki nie powinno trwać długo (~2 MB), a PEAR w pełni automatyzuje cały proces.
Aby zweryfikować czy Symfony zostało zainstalowane poprawnie wpiszmy:
symfony -V
Powinniśmy ujrzeć na ekranie informację zawierającą wersję zainstalowanego przed chwilą frameworka.
Część 4 – Pierwszy projekt w Symfony
Zakładając, że wszystko do tej pory poszło gładko możemy przejść do rzeczy najprzyjemniejszych – zainicjować nasz pierwszy projekt:
> cd C:\wamp\www
> mkdir mojprojekt
> cd mojprojekt
> symfony init-project mojprojekt
> symfony init-app testapp
Dla Symfony 1.2 poprawnym sposobem zainicjowania projektu jest:
> symfony generate:project mojprojekt
> symfony generate:app —escaping-strategy=on —csrf-secret=Unique$ecret testapp
Przy wywolaniu generate:app użyliśmy także dwóch (opcjonalnych) parametrów związanych z bezpieczeństwem:
- –escaping-strategy – Włącza output escaping chroniąc nasz projekt przed atakami XSS
- –csrf-secret – Generuje tokeny chroniąc nas przed atakami CSRF
Tak, Symfony 1.2 chroni nasze projekty przed dwoma najbardziej rozpowszechnionymi atakami w sieci!
Gratulacje!
Efekt swojej pracy możesz zobaczyć pod http://127.0.0.1/mojprojekt/web/
I to byłoby na tyle. Życzę wielu udanych projektów z Symfony w przyszłości
Co dalej?
- Zapraszam do przeczytania mojego poradnika na temat poprawnej konfiguracji Apacha dla projektów Symfony.
- Odwiedzenia oficjalnej strony Symfony i dalszego odkrywania tego frameworka dzięki licznym poradnikom i dobrze napisanej dokumentacji (niestety wciąż bez polskiego tłumaczenia).






Bardzo zwięzła i pomocna informacja jak zainstalować pear, symfony i
anurit.pl | 18.04.2008Bardzo zwięzła i pomocna informacja jak zainstalować pear, symfony i jeden z lamp-ów.
[...] Symfony Framework installation guide. [...]
Symfoclipse - Symfony Development Tools for Eclipse | Poetry of Programming | 05.05.2008[...] Symfony Framework installation guide. [...]
Wonderful guide !!!!.. thanks a lot dude...
santhosh Palan | 07.05.2008Wonderful guide !!!!.. thanks a lot dude…
Good straightforward no bs guide. Thanks!
nm | 04.06.2008Good straightforward no bs guide. Thanks!
If you are behind a proxy, you need to setup
Pedro Guerreiro | 12.06.2008If you are behind a proxy, you need to setup PEAR to use the proxy, before you install symfony, in Part 3. Do this:
pear config-set http_proxy http://yourproxy:portReplace yourproxy with your proxy address, and port with your proxy port.
Thanks - this was the only guide i tried that
Neal Sherman | 12.06.2008Thanks – this was the only guide i tried that worked – I am now at the point where i created a test project. I get the welcome screen but no images and I have no idea what it is asking me to do
the error is “This project uses the symfony libraries. If you see no image in this page, you may need to configure your web server so that it gains access to the symfony_data/web/sf/ directory.”
Can someone help here
thanks
Thank you for the guide! It's very useful!
kaki | 13.06.2008Thank you for the guide! It’s very useful!
The First Page don't show in myproject what i have to
Rodrigo | 21.06.2008The First Page don’t show in myproject
what i have to do?
everthing is correctly in your guide but the page of symfony don`t show in my pc is writen that:
If you see no image in this page, you may need to configure your web server so that it gains access to the symfony_data/web/sf/ directory.
where i can do this?
Thanks, handy guide indeed. Easy enough to follow although I'm
Amir Hamzah | 18.07.2008Thanks, handy guide indeed. Easy enough to follow although I’m not using the “self installing WAMP” (I install all the components manually); I manage to done this.
Thanks again.
swietny przewodnik, dokladnie czegos takiego szukalem, wielkie dzieki!
yaqoob | 01.08.2008swietny przewodnik, dokladnie czegos takiego szukalem, wielkie dzieki!
Wszystko działa tak jak jest napisane. Rewelacja. Dziękuję bardzo i
wojtek77 | 02.08.2008Wszystko działa tak jak jest napisane. Rewelacja. Dziękuję bardzo i pozdrawiam.
Krzysztof way to sexy tutorial, works perfect! youre awesome!
Adi | 02.08.2008Krzysztof
way to sexy tutorial, works perfect! youre awesome!
[...] assuming that you have Symfony already properly installed (if
Setting the web server to gain access to symfony_data/web/sf/ directory | Poetry of Programming | 08.08.2008[...] assuming that you have Symfony already properly installed (if not the installation guide is here). I’m working on a WAMP installation of Apache+MySQL+PHP, so the directory paths in my [...]
For a guide on setting the web server to gain
Krzysztof Karolczak | 08.08.2008For a guide on setting the web server to gain access to symfony_data/web/sf/ directory go here
It solves the “If you see no image in this page, you may need to configure your web server so that it gains access to the symfony_data/web/sf/ directory.” issue
.
Bardzo pomocny tutorial.Bardzo dziękuje :)
Tomek | 07.09.2008Bardzo pomocny tutorial.Bardzo dziękuje
I had followed a much more complicated tutorial: - http://trac.symfony-project.org/wiki/HowToInstallPearOnWindowsWithWamp - http://trac.symfony-project.org/wiki/HowToInstallSymfonyOnWindowsWithWamp but
Olivier Bridgeman | 11.09.2008I had followed a much more complicated tutorial:
- http://trac.symfony-project.org/wiki/HowToInstallPearOnWindowsWithWamp
- http://trac.symfony-project.org/wiki/HowToInstallSymfonyOnWindowsWithWamp
but this one is simpler
hey all the procedures went well but when i tested
shrat | 18.09.2008hey all the procedures went well
but when i tested it it said
Fatal error: Uncaught exception ‘InvalidArgumentException’ with message ‘The application “” does not exist.’ in C:\wamp\www\sf_sandbox\lib\symfony\config\sfProjectConfiguration.class.php:328 Stack trace: #0 C:\wamp\www\sf_sandbox\test\bootstrap\functional.php(22): sfProjectConfiguration::getApplicationConfiguration(”, ‘test’, true) #1 {main} thrown in C:\wamp\www\sf_sandbox\lib\symfony\config\sfProjectConfiguration.class.php on line 328
pls help me
If you are testing a sandbox it doesn't need Symfony
Krzysztof Karolczak | 18.09.2008If you are testing a sandbox it doesn’t need Symfony installed – create and test a normal project instead and see if it works. And read about running sf sandbox on the symfony-project.org forum.
VERY HELPFUL!!!! THANK YOU!!!!
icyblue | 23.10.2008VERY HELPFUL!!!! THANK YOU!!!!
super dzięki
Tasior | 26.10.2008super dzięki
PANALO
stevedevera | 03.11.2008PANALO
excellent guide!
123 | 11.11.2008excellent guide!
Witam a ja mam taki problem: Gdy wpisuje > symfony init-project
pejot | 25.11.2008Witam a ja mam taki problem:
Gdy wpisuje > symfony init-project mojprojekt dostaje
C:\wamp\www\mojprojekt>symfony init-project mojprojekt
The system cannot find the path specified.
Mój symfony.bat wyglada tak:
@echo off
rem *************************************************************
rem ** symfony CLI for Windows based systems (based on phing.bat)
rem *************************************************************
rem This script will do the following:
rem - check for PHP_COMMAND env, if found, use it.
rem - if not found detect php, if found use it, otherwise err and terminate
if ?%OS%?==?Windows_NT? @setlocal
rem %~dp0 is expanded pathname of the current script under NT
set SCRIPT_DIR=%~dp0
goto init
:init
if ?%PHP_COMMAND%? == ?? goto no_phpcommand
IF EXIST ?.\symfony? (
%PHP_COMMAND% ?.\symfony? %1 %2 %3 %4 %5 %6 %7 %8 %9
) ELSE (
rem %PHP_COMMAND% -d html_errors=off -d open_basedir= -q %SCRIPT_DIR%\symfony %1 %2 %3 %4 %5 %6 %7 %8 %9
%PHP_COMMAND% -d html_errors=off -d open_basedir= -q C:\wamp\bin\php\php5.2.6\ symfony %1 %2 %3 %4 %5 %6 %7 %8 %9
)
goto cleanup
:no_phpcommand
rem echo ????????????????????????
rem echo WARNING: Set environment var PHP_COMMAND to the location of your php.exe
rem echo executable (e.g. C:\PHP\php.exe). (assuming php.exe on PATH)
rem echo ????????????????????????
set PHP_COMMAND=C:\wamp\bin\php\php5.2.6\php.exe
goto init
:cleanup
if ?%OS%?==?Windows_NT? @endlocal
rem pause
A nadmienię jeszcze ze nie mam folderu symfony w C:\wamp\bin\php\php5.2.6\
I like it. Thanks for instal quite. It's realy usefull.
Jav | 26.11.2008I like it. Thanks for instal quite. It’s realy usefull.
#pejot a zwraca Ci coś polecenie symfony -V? I zobacz
Krzysztof Karolczak | 30.11.2008#pejot a zwraca Ci coś polecenie symfony -V? I zobacz czy jeśli odpalisz symfony.bat znajdując się bezpośrednio w folderze symfony czy działa…
Hi there ! I've followed this tuto, really useful and
BluePyth | 22.12.2008Hi there !
I’ve followed this tuto, really useful and helpful too
Just a thing, now the line ti uncomment in the php.ini file is modified automatically, seems like the author of wamp as fixed this bug
Bye !
Hey, i follwed the tutorial as i had no experience
Iltar | 30.12.2008Hey, i follwed the tutorial as i had no experience with symfony on windows (i do on linux). But i get a message that php.exe could not be found…
Use:
C:\ServerT\bin\php\php5.2.8>cd C:\ServerT\www\stage-verslag
C:\ServerT\www\stage-verslag>symfony
‘php.exe’ is not recognized as an internal or external command,
operable program or batch file.
Why is that? (using wamp 2.0f)
Did you set the environment variables to point your php
Krzysztof Karolczak | 02.01.2009Did you set the environment variables to point your php binary? Read the paragraph just before the Part 2 of the tutorial
.
Świetna pomoc, dzięki wielkie.
krzysztof | 25.01.2009Świetna pomoc, dzięki wielkie.
"Part 3 - Finally the Symfony" On windows cmd I will execute
alexis | 01.03.2009“Part 3 – Finally the Symfony”
On windows cmd
I will execute pear command but inside what directory have to be my prompt?
d:/ pear ….. ?
Very very thanks for given a exact guideline
pavan | 02.03.2009Very very thanks for given a exact guideline
@alexis if you've run the created PEAR_ENV.reg file after the
Krzysztof Karolczak | 02.03.2009@alexis if you’ve run the created PEAR_ENV.reg file after the Pear installation than you should be able to run pear from anywhere (you might need to restart your console for that).
Na koćcu powinno byc chyba: symfony generate:project mojprojekt symfony generate:app --escaping-strategy=on --csrf-secret=UniqueSecret
arcz | 07.03.2009Na koćcu powinno byc chyba:
symfony generate:project mojprojekt
symfony generate:app --escaping-strategy=on --csrf-secret=UniqueSecret testapp
A tutaj mily 24-godzinny tutorial (w wersji angielskiej są dostępne wszystkie lekcje)
Podziękowania za instrukcje dla windy!
thank you so much for this guide ... I've been
arpi | 07.04.2009thank you so much for this guide … I’ve been struggling all day trying to install symfony and it took me 10 minutes with your instructions!
You just nailed it! Thank you very much. This is a
Jess | 30.04.2009You just nailed it!
Thank you very much. This is a very helpful reference.
Hi! Very Very Helpful article for
Malay Mehta | 19.05.2009Hi!
Very Very Helpful article for the newbies to Symfony. Thanks for all the efforts!!!!!
Technically Yours,
Malay Mehta
thx, finally got it working. still new to Symfony so
Maarten De Bal | 10.06.2009thx, finally got it working.
still new to Symfony so will explore it in the next weeks
Cześć dzięki że zamieściłeś ten tekst, bo ciągle mało po
leon | 02.07.2009Cześć dzięki że zamieściłeś ten tekst, bo ciągle mało po polsku o symfony,
ale niestety mam problem, zrobilem wszystko do 3 punktu i jak wpisuje w konsoli:
> pear channel-discover pear.symfony-project.com
to mi wywala komunikat:
Nazwa pear nie jest rozpoznawalna jako polecenie wewnętrzne lub zewnętrzne, program wykonywalny lub plik wsadowy.
No i nie wiem jak to ugryźć, będę wdzięczny za jakieś wskazówki, dodam że poprawnie wrzucił mi do rejestru i konsole zrestartowałem, ale nic to nie dało
(
Dodaj ręcznie ścieżkę PEARa do zmiennej PATH tak jak robiłeś
Krzysztof Karolczak | 03.07.2009Dodaj ręcznie ścieżkę PEARa do zmiennej PATH tak jak robiłeś to krok wcześniej z PHP.