TANSOT

Serwer HTTP w Symfony 5

07.03.2020 10:37

Wersje Symfony do 4.x umożliwiały łatwe uruchomienie serwera HTTP poleceniem bin/console server:start. W wersji 5 pakiet WebServerBundle został usunięty, a w zamian zaleca się użyć Symfony CLI. To rozwiązanie wymaga jednak użycia zamkniętoźródłowego programu, co nie dla każdego będzie akceptowalne. Jako alternatywę można posłużyć się wbudowanym serwerem PHP i dla wygody opakować go w skrypt shellowy.

Plik bin/server (należy nadać mu uprawnienia do wykonania poleceniem chmod +x bin/server):

#!/bin/sh
# wejście do głównego katalogu projektu
cd "`dirname "$0"`/.." || exit
"${PHP-php}" -S "0.0.0.0:${PORT-8000}" -t public/ server.php

Plik server.php należy umieścić w głównym katalogu projektu (nie w katalogu public!).

W razie potrzeby można ustawić inną ścieżkę do interpretera PHP i/lub numer portu (domyślnie 8000):

$ PHP=/opt/php7.4/bin/php bin/server
$ PORT=8888 bin/server