Lösa PHP och PHP CodeSniffer-fel
macOS levereras fortfarande med PHP (även om hur detta ser ut för framtida versioner av operativsystemet kommer sannolikt att förändras på något sätt.).
Hur som helst, föreställ dig att du är i en situation där du arbetar med ett projekt som kräver tre olika komponenter:
- PHP,
- En uppsättning kodningsstandarder,
- PHP CodeSniffer som fungerar med nämnda kodningsstandarder,
- Oförmågan att korrekt se resultatet av att sniffa koden antingen i din terminal eller din IDE.
När detta händer är detta nästan alltid ett resultat av en version av PHP, versionen av de olika beroenden, och att se till att de alla spelar bra tillsammans.
Kort sagt handlar det om att se till att verktygen som PHP CodeSniffer fungerar bra med samma version av PHP som du har installerat. Och i det här fallet är det senaste och bästa inte nödvändigtvis det bästa tillvägagångssättet.
Det är dock nära. Och i följande steg bör du kunna få allt att fungera exakt som det behövs för din specifika uppsättning.
PHP och PHP CodeSniffer-fel
Jag antar att du kör en ny version av macOS och att du redan har PHP igång tillsammans med Hombrew. Hoppa i så fall över följande avsnitt.
Installerar Homebrew
Om inte, se till att köra följande kommandon:
$ xcode-select --install
Detta kommer att installera nödvändiga verktyg för Homebrew att använda.
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
När du är klar, kör följande i din terminal:
$ brew --version
Och du borde se något sånt här:
Om du är van vid att använda Homebrew är det ingen dålig idé att köra följande (även om det inte är nödvändigt):
$ brew doctor
$ brew cleanup
När det är gjort är du redo att installera en annan version (eller till och med versioner) av PHP.
Installera en kompatibel version av PHP
Vid den här tiden av detta inlägg har jag funnit att PHP 7.3.21 och PHP CodeSniffer 3.3.1 fungerar bäst med varandra.
För att installera PHP den versionen av PHP kan du köra:
$ brew install php@7.3
Detta bör automatiskt länka denna version av PHP från det du redan har installerat. Du kan verifiera detta genom att återigen köra:
$ php -v
Och du bör se PHP 7.3.21.
Vad sägs om PHP CodeSniffer?
Det finns ett antal sätt att installera just detta paket men jag är ett fan av Composer så att köra följande bör ta hand om allt.
$ composer global require "squizlabs/php_codesniffer=3.*"
Och det borde avsluta allt du behöver ha för PHP CodeSniffer.
Resurser
Detta bör lösa eventuella fel du ser i din terminal och/eller din IDE kring PHP och PHP CodeSniffer-fel. För mer information om allt du har sett här, kolla in följande: