Використання вбудованого PHP до версії macOS Monterey
 
  PHP входить до складу macOS, починаючи з macOS X (10.0.0) до macOS Monterey
  (12.0.0). Щоб увімкнути PHP зі стандартним вебсервером, потрібно
  розкоментувати кілька рядків у файлі конфігурації Apache
  httpd.conf, тоді як CGI та/або
  CLI вже увімкнені (легко доступні в програмі Terminal).
 
 
  Увімкнення PHP за допомогою наведених нижче інструкцій призначене для швидкого 
  налаштування локального середовища розробки. Наполегливо
  рекомендується завжди оновлювати PHP до найновішої версії. Як і
  більшість програмного забезпечення, нові версії створюються для виправлення 
  помилок і додавання нових функцій, тож PHP не виняток. Більше інформації є у
  відповідній документації щодо встановлення macOS. Наведені нижче інструкції
  призначені для початківців і містять кроки для налаштування стандартного
  середовища розробки. Всім користувачам рекомендується скомпілювати або
  встановити нову упаковану версію.
 
 
  Стандартний тип встановлення - це використання mod_php. Увімкнення вбудованого
  mod_php на macOS для вебсервера Apache (типовий вебсервер, який доступний в
  Системних налаштуваннях) включає наступні кроки:
 
 
  
   - 
    
     Знайти і відкрити файл конфігурації Apache. Зазвичай він знаходиться у 
     наступному місці: /private/etc/apache2/httpd.conf
    
    
     Використання FinderабоSpotlightдля
     пошуку цього файлу може виявитися складним, оскільки стандартно він є
     приватним і належить користувачевіroot.Зауваження: 
     
      Одним із способів відкрити цей файл є використання текстового редактора на
      основі Unix у терміналі, наприклад, nano, і оскільки
      файл належить користувачевіroot, потрібно скористатися
      командоюsudo, щоб відкрити його (від імені користувачаroot). Наприклад, ввести наступне у програмуTerminal(після цього вона запитає пароль):sudo nano /private/etc/apache2/httpd.confКоманди nano, які заслуговують на увагу:^w(пошук),^o(збереження) і^x(вихід), де^позначає клавішу Ctrl.
 
 Зауваження: 
     
      Mac OS X до версії 10.5 постачалися зі старими версіями PHP та Apache. 
      Тож, шлях до конфігураційного файлу Apache на застарілих машинах може бути
      таким: /etc/httpd/httpd.conf.
     
     
 
- 
    
     За допомогою текстового редактора розкоментувати рядки (видаливши "#"), 
     які виглядають подібно до наведених нижче (ці два рядки часто знаходяться
     не разом, треба знайти їх обидва у файлі):
      
      
# LoadModule php5_module libexec/httpd/libphp5.so
# AddModule mod_php5.c
 
 Варто звернути увагу на розташування/шлях. Під час наступного збирання PHP
     вищевказані файли слід замінити або закоментувати.
- 
    
     Переконатися, що потрібні закінчення розпізнаються як закінчення PHP-файлів
     (приклади: .php .html і .inc)
     
     Завдяки наступному оператору, який вже існує в
     httpd.conf (починаючи з Mac Panther), коли PHP
     увімкнено, файли .php автоматично опрацьовуються як
     PHP.
      
      
<IfModule mod_php5.c>
    # If php is turned on, we respect .php and .phps files.
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    # Since most users will want index.php to work we
    # also automatically enable index.php
    <IfModule mod_dir.c>
        DirectoryIndex index.html index.php
    </IfModule>
</IfModule>
 Зауваження: 
      
      До Mac OS X 10.5 (Leopard), замість PHP 5 постачався PHP 4. В цьому
      випадку наведені вище інструкції будуть дещо відрізнятися зміною 5 на 4.
      
 
- 
    
     Переконатися, що DirectoryIndex завантажує зазначений стандартний файл
     індексу.
    
    
     Це також задається в httpd.conf. Зазвичай
     використовують index.php та
     index.html. Стандартно index.php
     увімкнено, як у прикладі вище. Необхідно налаштувати це відповідно.
    
   
- 
    
     Вказати розташування php.ini або використати початкове значення.
    
    
     Типове розташування в macOS — /usr/local/php/php.ini. 
     Виклик функції phpinfo() покаже цю інформацію. 
     Якщо файл php.ini не використовується, PHP буде використовувати всі
     стандартні значення. Докладніше у відповідному розділі ЧаПів про пошук php.ini.
    
   
- 
    
     Знайти або встановити DocumentRootЦе коренева тека для всіх вебфайлів. Файли в цій теці обслуговуються
     вебсервером, тому PHP-файли будуть опрацьовані інтерпретатором, перш ніж
     виводитися в браузер. Типовий шлях —
     /Library/WebServer/Documents, але його можна змінити в
     httpd.conf. Крім того, типовий шлях
     DocumentRoot для окремих користувачів —
     /Users/ім_я_користувача/Sites.
- 
    
     Створити скрипт з phpinfo() всередині.
    
    
     Функція phpinfo() відображає інформацію про PHP. 
     Розглянемо створення файлу в корені DocumentRoot з наступним PHP-кодом:
      
- 
    
     Перезапустити Apache і відкрити в браузері створений вище PHP-файл.
    
    
     Для перезапуску необхідно виконати sudo apachectl
     gracefulв командному рядку або зупинити/запустити
     опцію «Персональний вебсервер» у Системних налаштуваннях macOS. Стандартно,
     локальні файли у браузері матимуть такий URL:
     http://localhost/info.php. Ще одним варіантом є
     використання теки користувача, як DocumentRoot. Тоді URL
     матиме такий вигляд:
     http://localhost/~yourusername/info.php.
 
  CLI (або CGI у старих версіях) має
  відповідну назву php і, здебільшого, має шлях
  /usr/bin/php. 
  Необхідно відкрити термінал, прочитавши розділ про командний рядок у посібнику 
  з PHP і виконати php -v, щоб перевірити версію PHP цього 
  бінарного файлу. Виклик phpinfo() також покаже цю
  інформацію.
 
     
 
    
  
  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.