Przełączanie wersji
PHM instaluje wiele wersji PHP obok siebie. Są dwa sposoby przełączania między nimi.
Zalecane: Symfony CLI + .php-version
Dział zatytułowany „Zalecane: Symfony CLI + .php-version”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.
Konfiguracja
Dział zatytułowany „Konfiguracja”- Zainstaluj Symfony CLI przez PHM:
phm install symfony- Utwórz plik
.php-versionw katalogu głównym projektu:
echo "8.5" > .php-version- Używaj
symfony phpzamiastphp:
symfony php -v# PHP 8.5.4 (cli) ...
symfony composer installsymfony console cache:clearSymfony CLI odczytuje plik .php-version i automatycznie wybiera odpowiednią binarkę PHP z katalogu PHM /opt/php/.
Praca per projekt
Dział zatytułowany „Praca per projekt”projekt-a/├── .php-version # Zawiera: 8.4├── composer.json└── src/
projekt-b/├── .php-version # Zawiera: 8.5├── composer.json└── src/cd projekt-asymfony php -v # PHP 8.4.19
cd ../projekt-bsymfony php -v # PHP 8.5.4Wbudowany serwer Symfony
Dział zatytułowany „Wbudowany serwer Symfony”Symfony CLI zawiera wbudowany serwer WWW, który również respektuje .php-version:
# Uruchom serwer (używa wersji PHP z .php-version)symfony server:start -d
# Sprawdź używaną wersję PHPsymfony server:status
# Podgląd logówsymfony server:log
# Zatrzymaj serwersymfony server:stopSerwer Symfony zapewnia automatyczny HTTPS z lokalnie zaufanymi certyfikatami, wsparcie HTTP/2 i bezproblemową obsługę .php-version.
Alternatywa: phm use
Dział zatytułowany „Alternatywa: phm use”Aby ustawić globalną domyślną wersję PHP:
# Ustaw PHP 8.5 jako globalny domyślnyphm use 8.5
# Zweryfikujphp -vTworzy to dowiązania symboliczne w /opt/php/bin/ wskazujące na wybraną wersję. Wpływa na wszystkie sesje terminala.
Porównanie
Dział zatytułowany „Porównanie”| Cecha | Symfony CLI + .php-version | phm use |
|---|---|---|
| Zakres | Per projekt | Globalny |
| Przełączanie | Automatyczne (czyta plik) | Ręczne polecenie |
| Dla zespołu | Tak (commituj .php-version) | Nie |
| Serwer WWW | Wbudowany (z HTTPS) | Wymaga osobnej konfiguracji |
| Zalecane | Tak | Dla prostych konfiguracji |