Nakon ovog poglavlja
Što ćete znati napraviti
- Pokrenuti projekt ugrađenim PHP poslužiteljem.
- Objasniti što Docker i WSL rješavaju, a što kompliciraju.
- Razlikovati razvojno od produkcijskog posluživanja.
Najbrži eksperiment
PHP ima razvojni web-poslužitelj
Za malu vježbu nisu potrebni Apache ni Nginx. U terminalu se pozicionirajte u javni direktorij i pokrenite ugrađeni poslužitelj. Adresa 127.0.0.1 dostupna je samo lokalnom računalu, a port 8000 možete promijeniti.
Ovaj poslužitelj nije projektiran za javnu produkciju. Nema produkcijske zaštite, optimizacije ni pouzdanog upravljanja većim prometom.
php -S 127.0.0.1:8000 -t public
Izolirana okruženja
WSL i kontejneri
WSL omogućuje Linux alate unutar Windowsa. Dobar je kada produkcija koristi Linux ili paket nema dobru Windows podršku. Docker opisuje servise kao slike i kontejnere pa tim može ponoviti približno isto okruženje.
Cijena je dodatna mentalna i operativna složenost: mreže, volumeni, dozvole, buildovi i sinkronizacija datoteka. Početnik prvo treba razumjeti PHP, HTTP i bazu; kontejner ne popravlja nerazumijevanje aplikacije.
- WSL: puni Linux shell i alati.
- Docker: ponovljivi izolirani servisi.
- Laragon/WampServer: najbrži početak na Windowsu.
Isti kod, drukčiji uvjeti
Ne kopiramo lokalne navike na server
U razvoju želimo detaljne pogreške, automatsko osvježavanje i testne podatke. U produkciji skrivamo detalje pogrešaka, uključujemo cache, koristimo HTTPS, najmanje privilegije i nadzor.
Konfiguracija pripada varijablama okruženja ili tajnom spremištu, ne repozitoriju. Aplikacija treba jasno reagirati ako obavezna postavka nedostaje.
APP_ENV=local
APP_DEBUG=true
DATABASE_URL=mysql:host=127.0.0.1;dbname=phpnova
Primijenite naučeno
Vježba: Isti projekt, dva pokretanja
Pokrenite postojeći projekt kroz Laragon i kroz ugrađeni PHP poslužitelj.
- Zabilježite URL i document root za oba načina.
- Provjerite ponašanje relativnih putanja.
- Zaustavite razvojni poslužitelj tipkama Ctrl+C.
Za provjeru i nastavak