Da es immer etwas hakelig ist mehrere Projekte mit unterschiedlichen PHP Versionen zu betreiben kann man das im vhost des Apachen steuern

Dazu muss zu jeder installierten PHP Version ein anderer Port gewählt werden.

PHP Konfiguration

Es folgt ein Beispiel für PHP 7.1 und PHP 7.3

  1. PHP 7.3 installieren
brew install php@7.3

2. Den Port des PHP Services anpassen, dazu in folgender Datei:

vi /usr/local/etc/php/7.3/php-fpm.d/www.conf

die Zeile "listen" wie folgt ändern

listen = 127.0.0.1:9073  

3. PHP 7.1 installieren

brew install php@7.1

4. Den Port des PHP Services anpassen, dazu in folgender Datei:

vi /usr/local/etc/php/7.1
/php-fpm.d/www.conf

die Zeile "listen" wie folgt ändern

listen = 127.0.0.1:9071  

5. Die Services neu starten

brew services restart php@7.1
brew services restart php@7.3

Apache Konfiguration

  1. Die entsprechenden Module aktivieren, dazu die folgende Datei editieren:
vi /usr/local/etc/httpd/httpd.conf

Module aktivieren, in der Regel musst du nur die Kommentare davor entfernen:

LoadModule proxy_module lib/httpd/modules/mod_proxy.so
LoadModule proxy_http_module lib/httpd/modules/mod_proxy_http.so
LoadModule proxy_fcgi_module lib/httpd/modules/mod_proxy_fcgi.so

2. Die vhosts anpassen, dazu folgende Datei:

vi /usr/local/etc/httpd/extra/httpd-vhosts.conf 

entsprechende anpassen"

<VirtualHost *:443>
 ServerName awesome.php71.project
...
 <FilesMatch \.php$>
     SetHandler proxy:fcgi://127.0.0.1:9071                                  
 </FilesMatch>
 </VirtualHost>
<VirtualHost *:443>
 ServerName awesome.php73.project
...
 <FilesMatch \.php$>
     SetHandler proxy:fcgi://127.0.0.1:9073                                  
 </FilesMatch>
 </VirtualHost>

7. apache neu starten

sudo brew services restart httpd

Wohooo fertig

Nun sollte awesome.php73.project mit PHP 7.3 laufen, und awesome.php71.project mit PHP 7.1

Beachte aber das die Commandline davon NICHT betroffen ist!