Verwendung des mitgelieferten PHP vor macOS Monterey
 
  PHP ist seit macOS X (10.0.0) und vor macOS Monterey (12.0.0) in macOS
  enthalten. Um PHP mit dem Standard-Webserver zu verwenden, müssen nur ein
  paar Zeilen in der Apache-Konfigurationsdatei
  httpd.conf auskommentiert werden.
  CGI und/oder CLI sind standardmäßig
  aktiviert (einfach zugänglich über das Terminal-Programm).
 
 
  Die folgende Anleitung, um PHP zu aktivieren, ermöglicht ein einfaches und
  schnelles Aufsetzen einer lokalen Entwicklungsumgebung. Es wird
  dringend empfohlen, PHP immer auf dem neusten Stand
  zu halten. Wie für die meisten Anwendungen werden auch für PHP regelmäßig
  neue Versionen erstellt, um Fehler zu beseitigen und um den Funktionsumfang
  zu erweitern. Für weitere Informationen sollten Sie die entsprechende
  macOS-Installations-Dokumentation lesen. Die folgende Anleitung richtet
  sich an Anfänger, um eine Standardkonfiguration aufzusetzen. Allen Benutzern
  wird empfohlen, neuere Paket-Versionen zu installieren oder selbst zu
  kompilieren.
 
 
  Die normale Installation beinhaltet die Aktivierung des mitgelieferten
  mod_php für den Apache-Webserver (der Standard-Webserver, der über die
  Systemeinstellungen von macOS zugänglich ist) und umfasst folgende Schritte:
 
 
  
   - 
    
     Öffnen Sie die Apache-Konfigurationsdatei. Normalerweise finden Sie diese
     unter: /private/etc/apache2/httpd.conf
    
    
     Über den FinderoderSpotlightwird
     die Datei nur schwer zu finden sein, da sie geschützt ist und den Rechten
     desroot-Benutzers unterliegt.Hinweis: 
     
      Ein Weg, um die Datei zu öffnen, ist, im Terminal einen Unix-basierten
      Texteditor, z. B. nano, zu verwenden. Da die Datei
      dem Benutzer root gehört, sollten Sie den Befehlsudozum Öffnen (mit Root-Rechten) verwenden, z. B. können Sie Folgendes imTerminal-Programm eingeben (danach werden Sie nach
      dem Passwort gefragt):sudo nano /private/etc/apache2/httpd.confNennenswerte Befehle für nano:^w(suchen),^o(speichern), und^x(schließen)
      wobei^für die Strg-Taste steht.
 
 Hinweis: 
     
      Versionen von Mac OS X vor 10.5 enthielten ältere Versionen von PHP und
      Apache. Daher kann sich die Apache-Konfigurationen auf solchen
      älteren Maschinen im folgenden Verzeichnis befinden:
      /etc/httpd/httpd.conf.
     
     
 
- 
    
     Mit einem Texteditor müssen Sie nur die Zeilen einkommentieren (durch
     Entfernen von #), die ähnlich wie die folgenden aussehen (die beiden
     Zeilen sind oft ein Stück voneinander getrennt):
      
# LoadModule php5_module libexec/httpd/libphp5.so
# AddModule mod_php5.c
 
 Beachten Sie die Dateipfade. Wenn Sie zukünftig PHP selbst kompilieren,
      sollten die beiden Dateien ersetzt oder wieder auskommentiert werden.
- 
    
     Stellen Sie sicher, dass die gewünschten Dateiendungen durch PHP geparst
     werden (z. B. .php,
     .html und
     .inc).
     
     Durch die folgenden bereits in der Datei httpd.conf
     enthaltenen Angaben (ab Mac Panther) werden Dateien mit der Endung
     .php nach dem Aktivieren von PHP
     automatisch geparst.
      
<IfModule mod_php5.c>
    # Wenn PHP aktiviert wurde, werden .php- und .phps-Dateien berücksichtigt.
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    # Da die meisten Benutzer index.php verwenden möchten, aktivieren
    # wir ebenso automatisch die index.php
    <IfModule mod_dir.c>
        DirectoryIndex index.html index.php
    </IfModule>
</IfModule>
 Hinweis: 
      
      Vor Mac OS X 10.5 (Leopard) war PHP 4 statt PHP 5 enthalten, weswegen
      die oben genannten Anweisungen angepasst werden müssen (Ersetzen der "5"
      durch die "4").
      
 
- 
    
     Stellen Sie sicher, dass durch DirectoryIndex die gewünschten
     vorgegebenen Index-Dateien geladen werden.
    
    
     Dies kann auch in httpd.conf definiert werden.
     Normalerweise werden index.php und
     index.html verwendet. Wie oben bereits gezeigt, ist
     index.php standardmäßig aktiviert. Passen Sie es wie
     gewünscht an.
    
   
- 
    
     Den Pfad zur php.ini setzen oder den Standard verwenden
    
    
     Der Standardpfad unter macOS ist
     /usr/local/php/php.ini, was durch einen Aufruf von
     phpinfo() geprüft werden kann. Wenn keine php.ini
     angegeben wird, verwendet PHP die Standardwerte. Lesen Sie dazu die
     entsprechende FAQ:
     Wo sollte sich meine php.ini befinden?.
    
   
- 
    
     Finden oder Setzen des DocumentRootDies ist das Wurzelverzeichnis für alle Web-Dateien. Dateien in diesem
     Verzeichnis werden durch den Webserver ausgeliefert. PHP-Dateien werden
     geparst, bevor sie an einen Browser ausgeliefert werden. Der
     standardmäßig gesetzte Pfad ist
     /Library/WebServer/Documents und kann in der
     httpd.conf auf einen beliebigen Pfad gesetzt werden.
     Alternativ ist der standardmäßige Pfad zum
     DocumentRoot für die einzelnen Benutzer:
     /Users/ihr_benutzername/Sites
- 
    
     Erstellen einer phpinfo()-Datei
    
    
     Die Funktion phpinfo() zeigt Informationen über PHP
     an. Erstellen Sie eine Datei im DocumentRoot mit dem folgenden Inhalt:
      
- 
    
     Starten Sie den Apache neu und laden Sie die eben erzeugte PHP-Datei.
    
    
     Um neu zu starten, können Sie entweder sudo apachectl
     gracefulim Terminal aufrufen oder die Stop-/Start-Option des
     "Personal Web Server" in den macOS-Systemeinstellungen verwenden.
     Standardmäßig sollte folgende URL zum Laden von
     lokalen Dateien im Webbrowser genügen:
     http://localhost/info.php Alternativ, um Dateien aus
     dem DocumentRoot eines lokalen Benutzers zu laden:
     http://localhost/~ihr_benutzername/info.php
 
  Das CLI (oder CGI in älteren
  Versionen) heißt entsprechend php und existiert
  wahrscheinlich als /usr/bin/php. Öffnen Sie das
  Terminal, lesen Sie das Kapitel
  PHP auf der Kommandozeile des
  PHP-Handbuchs und führen Sie php -v aus, um die
  PHP-Version dieses PHP-Binärprogramms zu sehen. Ein Aufruf von
  phpinfo() enthält diese Information ebenfalls.
 
     
 
    
  
  Anonymous ¶16 years ago
  
You only have to uncomment:
#LoadModule php5_module        libexec/apache2/libphp5.so
This is gone:
# AddModule mod_php5.c
The statement in 3 was changed to:
<IfModule mime_module>
    #
    # TypesConfig points to the file containing the list of mappings from
    # filename extension to MIME-type.
    #
    TypesConfig /private/etc/apache2/mime.types
    #
    # AddType allows you to add to or override the MIME configuration
    # file specified in TypesConfig for specific file types.
    #
    #AddType application/x-gzip .tgz
    #
    # AddEncoding allows you to have certain browsers uncompress
    # information on the fly. Note: Not all browsers support this.
    #
    #AddEncoding x-compress .Z
    #AddEncoding x-gzip .gz .tgz
    #
    # If the AddEncoding directives above are commented-out, then you
    # probably should define those extensions to indicate media types:
    #
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    #
    # AddHandler allows you to map certain file extensions to "handlers":
    # actions unrelated to filetype. These can be either built into the server
    # or added with the Action directive (see below)
    #
    # To use CGI scripts outside of ScriptAliased directories:
    # (You will also need to add "ExecCGI" to the "Options" directive.)
    #
    #AddHandler cgi-script .cgi
    # For type maps (negotiated resources):
    #AddHandler type-map var
    #
    # Filters allow you to process content before it is sent to the client.
    #
    # To parse .shtml files for server-side includes (SSI):
    # (You will also need to add "Includes" to the "Options" directive.)
    #
    #AddType text/html .shtml
    #AddOutputFilter INCLUDES .shtml
</IfModule>
Extra MIME types can either be added to the file /private/etc/apache2/mime.types or by using an AddType directive as commented on above.
   
  
    
  
  10086 at xiaoi dot me ¶6 years ago
  
setup apache + php environment on macOS 10.12.6
step 1:  start httpd by apachectl
 > sudo apachectl start
step 2: find httpd.conf
 > sudo apachectl -t -D DUMP_INCLUDES
step 3: edit conf, eg: /opt/local/etc/apache2/httpd.conf
 > sudo vim  /opt/local/etc/apache2/httpd.conf
step 4: Load php module before <IfModule unixd_module>, eg:
```
LoadModule php5_module /usr/libexec/apache2/libphp5.so
<IfModule unixd_module>
```
step 5: add mod_php5.c end of httpd.conf
```
<IfModule mod_php5.c>
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    <IfModule mod_dir.c>
        DirectoryIndex index.html index.php
    </IfModule>
</IfModule>
```
step 6: save and quit
step 7: restart httpd
 > sudo apachectl restart
step 8: write demo.php , test configuration
```
<?php
    phpinfo();
?>
```
step 9: copy demo.php to "DocumentRoot", you can find by httpd.conf
step 10: visit demo.php
all done.