När betjänt slutar fungera, vad gör vi?
Jag är ett fan av att använda både Homebrew och Betjänad när det gäller att sätta upp och konfigurera en grundläggande WordPress-utvecklingsmiljö. Även om användningen av pakethanterare och enkel programvara för sådant här borde göra det enklare, befriar det oss inte från enstaka problem.
Exempel: Det finns tillfällen då vi kan behöva uppdatera vår TLD för att kunna spela bra med Chrome och andra webbläsare, eller till och med uppgradera hela installationen.
Tyvärr är det inte alltid så lätt som det borde vara. Tekniskt sett borde vi kunna avinstallera Valet och uppdatera den via Composer. Men jag har personligen stött på några problem som gjorde att jag måste:
- avinstallera Valet manuellt,
- använd Homebrew för att avinstallera PHP och rensa upp det som finns kvar helt,
- installera om Homebrew-paket,
- installera Betjänad,
- verifiera att webbläsaren använder samma version av PHP som installationen av Valet.
Det låter som mycket jobb för något som mer eller mindre "bara ska fungera" och det är ganska många steg, men de går ganska snabbt att sätta upp.
När betjänt slutar fungera
Så om du befinner dig i en situation där Betjänad inte fungerar med WordPress eller Homebrew eller någon av dem, kanske följande steg hjälper.
1 Ta bort betjänt manuellt
Enligt dokumentationen ska vi kunna köra:
$ valet uninstall
För att slutföra ta bort programvaran, men det fungerar inte. Istället måste vi ta bort det helt genom att ta bort dess katalog och tillhörande binär.
Om du kör macOS, är sättet att göra detta genom att ta bort .vendor- katalogen och betjäningsbinären som finns i /usr/local/bin/valet.
För att göra detta, skriv in följande kommandon i terminalen:
$ rm -rf ~/.valet
$ rm ~/usr/local/bin/valet
Även om du inte borde få några felmeddelanden, kan du behöva köra sudo för att ta bort binären (men om så är fallet togs den troligen bort installerad på felaktigt sätt första gången.
2 Använd Homebrew för att ta bort PHP
En av de fina sakerna med Homebrew är att det låter oss köra flera versioner av PHP och växla mellan dem. Detta är särskilt användbart om du arbetar med olika projekt för utbredd användning eller specialiserade miljöer.
För att se vilka versioner av PHP som finns på ditt system kan du köra följande:
$ brew list
Och du borde se något sånt här:
Ta sedan bort följande paket:
- dnsmasq
- nginx
- php
Och om du har flera versioner av PHP, kommer du att vilja ta bort alla versioner av programvaran. För att göra detta, skriv in följande kommandon:
$ brew uninstall dnsmasq && brew uninstall nginx && brew uninstall php
$ brew cleanup
Du kan också behöva köra brew uninstall för varje version av PHP om du har flera versioner som körs på ditt system.
Observera att om du har flera versioner av PHP igång kan du också stöta på problem med att ta bort var och en av dem.
Om så är fallet kommer du att behöva tvinga bort (genom att använda kommandot –force ), eller så kan du behöva rekursivt ta bort en given katalog som bryggrapporter. Detta kommer att behöva göras för var och en av installationerna av PHP.
När du är klar, kom ihåg att köra rensning.
Därefter kanske du vill gå vidare och köra läkare för att se om det finns några problem och lösa dem om det finns några. I många fall hittar du trasiga symboliska länkar som sedan kan tas bort genom att skriva brew prune.
Om du gör det och kör bryggdoktor igen, så borde allt se bra ut:
Och du är redo att börja reparera installationen.
3 Installera om Homebrew-paket
Låt oss sedan installera den senaste versionen av PHP. Du kan naturligtvis välja att installera vilken version av PHP som helst, men det är innehållet för ett annat inlägg (eller så kan du se vad som är tillgängligt på den här sidan ).
Först kan du behöva trycka på homebrew/php-förrådet om det inte redan finns i din lista över tillgängliga förråd; Du kan dock kontrollera vad du har genom att helt enkelt gå in
$ brew tap
Om du ser homebrew/php så är du bra att gå.
Så, därifrån, låt oss uppdatera brew:
$ brew update
Installera sedan den senaste versionen av PHP genom att ange:
$ brew install homebrew/core/php
När detta skrivs är detta PHP 7.2.5.
För att verifiera att den har installerats korrekt kan du ange vilken php i din terminal och /usr/local/bin/php som ska returneras. Därefter, om du kör php -v bör du se 7.2.5 returnerad som version.
4 Installera om Valet
Nu är det dags att installera om Valet. Gör för detta, ange följande kommando i din terminal:
$ composer global require laravel/valet
Se sedan till att du kör följande kommando:
export PATH="$PATH:$HOME/.composer/vendor/bin"
Detta säkerställer att de globala Composer-binärerna finns i ditt systems miljövariabler och är tillgängliga var som helst på ditt system.
Kör sedan valet install. Detta kommer att installera dnsmasq och nginx som är komponenter som är nödvändiga för att köra Valet.
5 Kontrollera att webbläsaren fungerar som förväntat
Innan vi testar webbläsaren vill vi pinga den lokala miljön för att se till att webbservern fungerar som förväntat. För att göra detta, skriv in följande i terminalen:
$ ping foo.test
Förutsatt att allt är korrekt inställt bör du få ett svar:
Nu är det dags att se till att webbläsaren använder samma version PHP som vi installerade i föregående steg. För att göra detta, skapa en katalog var som helst på ditt system, ring index.php och skriv sedan in följande i filen:
<?php
phpinfo();
Navigera sedan till katalogen i din terminal – jag har kallat min beta – och skriv sedan in följande kommando i din terminal:
$ valet link && valet secure
Ladda sedan upp https://beta.test i din webbläsare. Förutsatt att allt går bra bör du se detta:
Observera att versionen av PHP som används är densamma som vi installerade tidigare.
Varför göra detta manuellt?
Vid det här laget har du en fullt fungerande Betjänad-installation med den senaste versionen av alla nödvändiga paket. Tyvärr gör avinstallationskommandot inte vad du förväntar dig att det gör och det lämnar några artefakter efter sig.
Det är därför jag är ett fan av att ta bort allt manuellt, göra en uppdatering och sedan installera om Valet.
Om du stöter på problem med din installation – speciellt om du använder BrowserSync, Yarn eller liknande – bör detta lösa dessa problem (tillsammans med alla andra som du kan uppleva).






