Jednym z wyzwań związanych z budowaniem rozwiązań na WordPressie jest praca z różnymi środowiskami, które zapewnia każdy host.
Oznacza to, że niektóre nadal używają bardzo starych wersji PHP; inni korzystają z nowszych wersji, ale nawet wtedy istnieją między nimi różnice.
Przykład: od jakiegoś czasu używam PHP 7.2 na moim lokalnym komputerze w celu rozwoju; jednak obecnie pracuję nad projektem, w którym kilka zależności od narzędzia ciągłej integracji oferuje wsparcie tylko dla PHP 7.1.
A ponieważ lubię moje środowisko programistyczne odzwierciedlające środowiska pomostowe i produkcyjne, myślę, że ważne jest, aby upewnić się, że jest parzystość.
Jeśli używasz menedżera pakietów, łatwo jest zacząć korzystać z wielu wersji PHP z Homebrew, ale możesz napotkać kilka problemów związanych z uruchamianiem go razem z Valet.
Wiele wersji PHP z Homebrew
Po pierwsze, chcesz się upewnić, że masz zainstalowane PHP 7.1. Aby to zrobić, po prostu uruchom następujące polecenie w swoim terminalu. To zainstaluje pakiet, ale nic więcej. Nadal będziesz korzystać z dowolnej wersji PHP, z której aktualnie korzystasz.
$ brew install php@7.1
Następnie musisz powiedzieć Homebrew, aby usunął utworzone dowiązanie symboliczne do bieżącej wersji PHP, a następnie powiązać go z pakietem, który właśnie pobrałeś.
W tym celu wpisz następujące polecenie:
Pamiętasz całą tę rozmowę o muszlach? Musisz upewnić się, że twoja powłoka – w tym przypadku Bash – zna wersję PHP, której chcesz użyć.
export PATH="/usr/local/opt/php@7.1/bin:$PATH"
export PATH="/usr/local/opt/php@7.1/sbin:$PATH"
Następnie wypisz wszystkie usługi, które działa brew. Możesz to zrobić, wpisując następujące polecenie:
$ brew services list
Gdy to zrobisz, zobaczysz listę uruchomionych usług oraz konto, pod którym działają niektóre z nich.
Jeśli niektóre działają jako root, będziesz musiał je uruchomić i zatrzymać za pomocą sudo ; w przeciwnym razie możesz je zatrzymać i uruchomić za pomocą standardowych poleceń.
$ sudo brew services stop php
$ sudo brew services stop php@7.1
$ sudo brew services start php@7.1
Po tym prawdopodobnie będziesz chciał ponownie uruchomić Valet, ponieważ zapewni to ponowne uruchomienie PHP, Nginx i Dnsmasq.
$ valet restart
Powinno to zakończyć wszystko, co musisz zrobić, aby zamienić wersje PHP.
Zweryfikuj swoją pracę
Aby sprawdzić, czy twój serwer WWW faktycznie korzysta z najnowszej wersji Nginx, zalecam utworzenie pojedynczego katalogu (nazywam moją wersją beta), połączenie go za pomocą Valet, a następnie upuszczenie pliku index.php do katalogu zawierającego phpinfo(); wywołanie funkcji.
W ten sposób możesz uzyskać różnego rodzaju informacje o swoim środowisku.
Stąd powinieneś zobaczyć jakąś odmianę PHP 7.1 (lub cokolwiek to jest, co zainstalowałeś). A jeśli tak, to dobrze jest iść; w przeciwnym razie może być konieczne ponowne odinstalowanie i ponowne zainstalowanie Valet.
Ale to trochę ekstremalny krok i wszystko, co widzisz powyżej, powinno się tym zająć.