SPŠ Ostrov PHP runtime environment

Toto je vývojové prostředí pro vývoj PHP aplikací v předmětu PVA.

Závislosti a instalace

Linux

Pro provozování operačního systému založeném na Linuxu je potřeba udělat dvě věci:

  1. Nainstalovat balíček docker (u starších instalací také balíček docker-compose který je u novějších instalací už součástí balíčku docker).
  2. Přidat uživatele, který bude docker používat do skupiny docker.

Na nejnovějších systémech Ubuntu by mělo být například možné nakonfigurovat nutné závislosti pomocí těchto dvou příkazu: sudo apt install docker sudo usermod -a -G docker <uživatelské-jméno>

Přidání do skupiny se nicméně může projevit až po restartu (nejméně terminálu, někdy ale snad i celého systému, což je na Linux dost ostudné). Zda už se přidání do skupiny projevilo, lze zkontrolovat zavoláním příkazu groups.

Windows

Instalaci ve Windows je věnována samostatná stránka.

Rychlý start

Pro rychlý start systému, spusťte tuto sekvenci příkazů:

bin/docker configure bin/docker up bin/docker initialize

Aplikaci přitom vždy ze zásady spouštíme jako obyčejný uživatel, nikdy jako root!

Aplikace se potom rozběhne na portu, který jste zadali v konfigurační části. Pokud jste ponechali základní port 80, budete mít aplikaci k dispozici na adrese:

http://localhost

Pokud jste zadali jiné číslo portu, bude aplikace dostupná na adrese:

http://localhost:<port>

Konfigurace prostředí

Prostředí se konfiguruje příkazem

bin/docker configure

Po spuštění příkazu budete dotázáni na různé otázky. V základním prostředí se nastavuje pouze číslo portu, na kterém bude webová aplikace poslouchat.

Prostředí stačí nakonfigurovat jednou před prvním spuštěním. V případě, nutnosti prostředí rekonfigurovat, je potřeba následně restartovat docker kontejnery pomocí dvojice příkazů bin/docker restart.

Spuštění a vypnutí kontejnerů

Kontejnery spustíte příkazem: bin/docker up A zastavíte je příkazem: bin/docker down Popřípadě je můžete “odstřelit” příkazem: bin/docker kill

Chcete-li kontejnery restartovat (tj. vypnout a zapnout), můžete použít příkaz: bin/docker restart

Běh kontejnerů je nutný, aby celá webová aplikace fungovala. Kontejnery obsahují veškerý software jako php procesor, popřípadě webový server.

Inicializace aplikace

Aplikaci inicializujete příkazem: bin/docker initialize Význam tohoto kroku je připravit aplikaci k běhu systému. Systém je vytvořen tak, aby se do systému daly snadno přidávat nové inicializační kroky.

Inicializaci je potřeba také provést pouze jednou, ale v případě některých změn může být potřeba aplikaci reinicializovat. Zejména jde například o změnu závislostí v souboru composer.json.

Další užitečné příkazy

Chcete-li spustit docker-compose v rámci prostředí aplikace, spusťte příkaz:

bin/docker compose (tento příkaz je vhodný pouze pro pokročilé využití)

Pokud chcete spustit nějaký příkaz v rámci daného docker kontejneru, můžete jej spustit příkazem:

bin/docker exec <kontejner> <příkaz> <argumenty> Opět, tento příkaz je určen pouze pro pokročilé uživatele. V základním prostředí je definován jediný kontejner se jménem webserver, který obsahuje webserver a prostředí pro běh php.

Adresáře a soubory

Celé prosředí obsahuje tyto adresáře:

Dále pak obsahuje tyto soubory: