Przejdź do głównej zawartości

Przełączanie wersji

PHM instaluje wiele wersji PHP obok siebie. Są dwa sposoby przełączania między nimi.

Zalecanym podejściem jest użycie Symfony CLI z plikiem .php-version w katalogu głównym projektu. Daje to automatyczne przełączanie wersji PHP per projekt.

  1. Zainstaluj Symfony CLI przez PHM:
Okno terminala
phm install symfony
  1. Utwórz plik .php-version w katalogu głównym projektu:
Okno terminala
echo "8.5" > .php-version
  1. Używaj symfony php zamiast php:
Okno terminala
symfony php -v
# PHP 8.5.4 (cli) ...
symfony composer install
symfony console cache:clear

Symfony CLI odczytuje plik .php-version i automatycznie wybiera odpowiednią binarkę PHP z katalogu PHM /opt/php/.

projekt-a/
├── .php-version # Zawiera: 8.4
├── composer.json
└── src/
projekt-b/
├── .php-version # Zawiera: 8.5
├── composer.json
└── src/
Okno terminala
cd projekt-a
symfony php -v # PHP 8.4.19
cd ../projekt-b
symfony php -v # PHP 8.5.4

Symfony CLI zawiera wbudowany serwer WWW, który również respektuje .php-version:

Okno terminala
# Uruchom serwer (używa wersji PHP z .php-version)
symfony server:start -d
# Sprawdź używaną wersję PHP
symfony server:status
# Podgląd logów
symfony server:log
# Zatrzymaj serwer
symfony server:stop

Serwer Symfony zapewnia automatyczny HTTPS z lokalnie zaufanymi certyfikatami, wsparcie HTTP/2 i bezproblemową obsługę .php-version.

Aby ustawić globalną domyślną wersję PHP:

Okno terminala
# Ustaw PHP 8.5 jako globalny domyślny
phm use 8.5
# Zweryfikuj
php -v

Tworzy to dowiązania symboliczne w /opt/php/bin/ wskazujące na wybraną wersję. Wpływa na wszystkie sesje terminala.

CechaSymfony CLI + .php-versionphm use
ZakresPer projektGlobalny
PrzełączanieAutomatyczne (czyta plik)Ręczne polecenie
Dla zespołuTak (commituj .php-version)Nie
Serwer WWWWbudowany (z HTTPS)Wymaga osobnej konfiguracji
ZalecaneTakDla prostych konfiguracji