Praktický návod
Jak založit nový Symfony projekt pro reálnou produkční aplikaci
Nezačínej jen prázdnou složkou. Hned na začátku si nastav zdravé základy pro lokální vývoj, testy i nasazení.
Nejdřív stručně
Co znamená „produkční základ“?
Připrav si
Co budeš potřebovat
Na první průchod nepotřebuješ cloud ani hotovou databázi. Stačí čisté lokální prostředí.
Kroky 1 až 3
Založ projekt a nastav prostředí
Dělej malé, ověřitelné kroky. Po každém z nich víš, co přesně funguje.
1. Vytvoř čistý Symfony projekt
- Zvol si krátký název složky bez mezer. Příkaz vytvoří projekt, stáhne závislosti a připraví základní strukturu.
- Pro běžnou webovou aplikaci pak přidej webapp. Přinese formuláře, bezpečnostní komponenty a další časté základy.
- Verzi frameworku vybírej záměrně. Pro dlouho žijící aplikaci obvykle dává smysl aktuální LTS, ne náhodně nalezený příkaz z internetu.
composer create-project symfony/skeleton moje-aplikace Oficiální Symfony návod pro založení projektu 2. Odděl nastavení od kódu
- Otevři .env, ale tajná hesla do něj pro produkci nepiš. Ber ho jako seznam očekávaných proměnných a bezpečných výchozích hodnot.
- Na svém počítači použij .env.local. Ten necommituj. Na serveru nastav proměnné prostředí přímo v hostingu, kontejneru nebo správci tajemství.
- Databázové připojení, API klíče a adresy služeb čti z proměnných prostředí. Jeden kód pak může běžet lokálně, na testu i v produkci.
composer require webapp Oficiální Symfony dokumentace ke konfiguraci a .env 3. Přidej první produkční pojistky
- Commitni composer.lock. Právě ten zajišťuje, že server nainstaluje stejné ověřené verze balíčků jako ty.
- Do nasazení si dej composer install bez vývojových balíčků, optimalizovaný autoloader a zahřátí cache.
- APP_DEBUG v produkci vždy vypni. Chybová stránka pak neukáže návštěvníkovi cestu k souborům, konfiguraci ani výpis výjimky.
APP_ENV=prod APP_DEBUG=0 php bin/console cache:warmup Oficiální úvod do Composeru Krok 4
Ověř, že základ opravdu drží
Tyto tři krátké kontroly odhalí většinu chyb hned na začátku.
-
Zjisti stav projektu
Symfony vypíše verzi, aktivní prostředí a nainstalované balíčky. Příkaz spusť z kořene projektu.
php bin/console about -
Zkontroluj Composer soubory
Než kód pošleš dál, ověř formát composer.json i shodu se zámkem závislostí.
composer validate --strict -
Vyzkoušej produkční cache
Tohle neběží místo nasazení, ale rychle ukáže chybu v produkční konfiguraci nebo v chybějící proměnné.
APP_ENV=prod APP_DEBUG=0 php bin/console cache:clear
Když to zlobí
Nejčastější chyby
Příkaz hlásí nepodporovanou verzi PHP
Porovnej svou verzi přes php -v s požadavky vybrané verze Symfony. Neměň náhodně composer.json; nejdřív oprav PHP v lokálním prostředí nebo zvol podporovanou verzi frameworku.
php -v Do Gitu se dostalo heslo nebo API klíč
Klíč hned zneplatni a vytvoř nový. Samotné smazání řádku nestačí, protože tajemství zůstává v historii. Potom přesuň hodnotu do proměnné prostředí a .env.local ignoruj.
Lokálně to funguje, v produkci ne
Porovnej seznam proměnných, oprávnění k var/cache a APP_ENV. Produkce nemá kopírovat celý .env.local z počítače vývojáře.
php bin/console debug:container --env-vars Každý vývojář má jiné balíčky
Zkontroluj, že je composer.lock verzovaný, a instaluj závislosti příkazem composer install. Příkaz composer update používej vědomě při plánované aktualizaci.
git status --short Hotovo
Projekt má základ, na kterém se dá stavět.
Symfony projekt teď má jasně oddělenou konfiguraci a první produkční kontroly. Dál přidávej funkce po malých celcích a průběžně je ověřuj.