L’ultima versione di macOS 12 Monterey non porta più con sé preinstallato PHP. Difatti, una nota nel conf http.conf di Apache riporta:
#PHP was deprecated in macOS 11 and removed from macOS 12
Per fortuna possiamo installare PHP manualmente scegliendo una delle versioni disponibili, incluse 5.7, 7.4 e 8.1 con l’aiuto di Homebrew.
Installiamo homebrew
Se non abbiamo homebrew installato sul nostro mac, installiamolo velocemente con un solo comando, come da sito ufficiale:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Aggiungiamo il repository
Tramite il comando tap
, diciamo a brew di aggiungere un nuovo repository al suo elenco interno, in modo da poter installare pacchetti supplementari. Di default, tap
tiene conto che il repository provenga da Github. Difatti, quello che ci serve è shivammathur/homebrew-php. Aggiungiamolo quindi così:
brew tap shivammathur/php
A questo punto, scegliamo la versione di PHP che vogliamo installare, qui installeremo l’ultima disponibile, la 8.1:
brew install shivammathur/php/php@8.1
Le opzioni sono:
- php@5.6
- php@7.0
- php@7.1
- php@7.2
- php@7.3
- php@7.4
- php@8.0
- php@8.1
Una volta terminata la procedura, linkiamo la versione PHP, così da poter utilizzare il comando php direttamente:
brew link --overwrite --force php@8.1
Riavviamo il terminale
Ed eseguiamo:
php -v
A questo punto il sistema vi confermerà che la versione attuale è quella appena installata:
Luca-Murante:~ luca$ php -v PHP 8.1.3 (cli) (built: Feb 22 2022 09:40:25) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.3, Copyright (c) Zend Technologies with Zend OPcache v8.1.3, Copyright (c), by Zend Technologies
Cambiare versione
Se volessimo cambiare la versione, ripetiamo semplicemente questa guida dal principio specificando la versione da installare e poi ricordiamo di effettuare il link
Rimuovere vecchie versioni
Se abbiamo installato vecchie versioni da una vecchia installazione di Homebrew, possiamo rimuoverle:
rm -rf $(brew --cellar)/php
Rimuoviamo anche i vecchi Launch Agents, se presenti:
rm -f ~/Library/LaunchAgents/homebrew.mxcl.php* rm -f /Library/LaunchAgents/homebrew.mxcl.php* rm -f /Library/LaunchDaemons/homebrew.mxcl.php*
A questo punto rimuoviamo il vecchio repository:
brew untap homebrew/php
..e facciamo un po’ di pulizia:
brew cleanup