Poetry of Programming

Because coding is art
  • rss
  • Główna
  • Wyszukiwanie

Instalacja Symfony – Windows XP / Vista + WAMP

Krzysztof Karolczak | 29.02.2008

Jak 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).

Kategorie
Instalacja, Symfony
Tags
framework, PHP, Symfony 1.0, Symfony 1.1, Symfony 1.2
Komentarze rss
Komentarze rss
Trackback
Trackback

Tabela konwersji dla px, pt, em i % w CSS »

39 odpowiedzi

Bardzo zwięzła i pomocna informacja jak zainstalować pear, symfony i

anurit.pl | 18.04.2008

Bardzo 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.2008

Wonderful guide !!!!.. thanks a lot dude…

Good straightforward no bs guide. Thanks!

nm | 04.06.2008

Good straightforward no bs guide. Thanks!

If you are behind a proxy, you need to setup

Pedro Guerreiro | 12.06.2008

If 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:port

Replace yourproxy with your proxy address, and port with your proxy port.

Thanks - this was the only guide i tried that

Neal Sherman | 12.06.2008

Thanks – 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.2008

Thank you for the guide! It’s very useful!

The First Page don't show in myproject what i have to

Rodrigo | 21.06.2008

The 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.2008

Thanks, 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.2008

swietny przewodnik, dokladnie czegos takiego szukalem, wielkie dzieki!

Wszystko działa tak jak jest napisane. Rewelacja. Dziękuję bardzo i

wojtek77 | 02.08.2008

Wszystko działa tak jak jest napisane. Rewelacja. Dziękuję bardzo i pozdrawiam.

Krzysztof way to sexy tutorial, works perfect! youre awesome!

Adi | 02.08.2008

Krzysztof

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.2008

For 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.2008

Bardzo 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.2008

I 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.2008

hey 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.2008

If 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.2008

VERY HELPFUL!!!! THANK YOU!!!!

super dzięki

Tasior | 26.10.2008

super dzięki

PANALO

stevedevera | 03.11.2008

PANALO

excellent guide!

123 | 11.11.2008

excellent guide!

Witam a ja mam taki problem: Gdy wpisuje > symfony init-project

pejot | 25.11.2008

Witam 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.2008

I 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.2008

Hi 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.2008

Hey, 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.2009

Did 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.2009

Very 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.2009

Na 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.2009

thank 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.2009

You just nailed it!

Thank you very much. This is a very helpful reference.

Hi! Very Very Helpful article for

Malay Mehta | 19.05.2009

Hi!
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.2009

thx, 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.2009

Cześć 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.2009

Dodaj ręcznie ścieżkę PEARa do zmiennej PATH tak jak robiłeś to krok wcześniej z PHP.

Napisz komentarz

Możesz używać następujących tagów : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

Language / Język

  • English
  • Polski


Navigation

  • css
  • PHP
  • Symfony
    • Instalacja

Blogroll

  • Symfony

Tags

css (1) eclipse (1) framework (2) PDT (1) PHP (5) Symfony 1.0 (4) Symfony 1.1 (3) Symfony 1.2 (3) tips (2) vhost (1)

rss Komentarze rss valid xhtml 1.1 design by jide powered by Wordpress get firefox