## Работа со встроенным PHP в ОС macOS до версии Monterey

PHP поставляли с операционными системами macOS с macOS 10.0.0 X по macOS 12.0.0 Monterey. На стандартном веб-сервере PHP включают путём удаления комментариев в ряде строк в конфигурационном файле httpd.conf веб-сервера Apache, тогда как CGI- и (или) CLI-версии PHP-интерпретатора поставляли включёнными по умолчанию, и в этих режимах PHP оставался доступным для терминальных программ.

Включение PHP согласно приведённой ниже инструкции предназначено для быстрой настройки локальной среды разработки. Разработчики языка PHP настоятельно рекомендуют каждый раз обновлять PHP до самой новой стабильной версии. Аналогично большей части программного обеспечения, разработка которого продолжается, новые версии выпускают, чтобы исправить ошибки и добавить новые функции, то же касается и PHP. Читайте документацию по установке PHP в ОС macOS, которая описывает подробности. Следующие инструкции составили для начинающих разработчиков и они описывают стандартную установку, которая помогает быстро приступить к работе. Пользователям рекомендуют скомпилировать или установить из репозитория самую новую версию PHP.

Стандартная установка PHP в виде серверного модуля mod_php, который включается для стандартного веб-сервера macOS (сервер по умолчанию доступен через системные настройки), включает следующие шаги:

1. Найдите и откройте конфигурационный файл Apache. По умолчанию файл лежит по пути /private/etc/apache2/httpd.conf Поиска файла через файловый менеджер `Finder` или встроенный механизм поиска `Spotlight` иногда затруднён, поскольку файл лежит в приватном пространстве и принадлежит пользователю `root`.

   > Замечание: Открыть этот файл помогает консольный редактор наподобие `nano`, который запускают через терминал. Поскольку файл принадлежит пользователю `root`, потребуется выполнить команду `sudo`, чтобы открыть файл. Команда `sudo` повышает привилегии текущего пользователя до пользователя `root`. Просто запустите приложение `Terminal`, введите команду `sudo nano /private/etc/apache2/httpd.conf` и введите пароль, когда команда запросит его. Полезные команды редактора nano: `^w` (найти), `^o` (сохранить) и `^x` (закрыть), где `^` — клавиша Ctrl.

   > Замечание: Версии macOS до 10.5 содержат устаревшие версии PHP и веб-сервера Apache, поэтому конфигурационный файл иногда лежит по пути /etc/httpd/httpd.conf.

2. В текстовом редакторе найдите следующие строки и удалите символ # из начала строки, чтобы удалить комментарии. Эти строки часто находятся в разных местах файла:

       # LoadModule php5_module libexec/httpd/libphp5.so

       # AddModule mod_php5.c

   Запомните путь к файлу, поскольку позднее, при сборке PHP, эти строки иногда требуется изменять.

3. Убедитесь, что файлы с расширениями вроде .php, .html и .inc обрабатываются как PHP-скрипты.

   Поскольку с версии Mac Panther конфигурационный файл httpd.conf уже содержит следующие инструкции, после включения PHP сразу начнёт автоматически обрабатывать файлы с расширением .php.

       <IfModule mod_php5.c>
           # PHP обработает файлы с расширением .php и .phps., если модуль PHP загрузили
           AddType application/x-httpd-php .php
           AddType application/x-httpd-php-source .phps

           # Часто требуется, чтобы PHP рассматривал файл index.php
           # как страницу по умолчанию, если её прямо не указали в URL-адресе.
           # Следующие инструкции делают файлы index.html и index.php файлами по умолчанию
           <IfModule mod_dir.c>
               DirectoryIndex index.html index.php
           </IfModule>
       </IfModule>

   > Замечание:

   > До macOS 10.5 Leopard в состав ОС включали PHP 4, а не PHP 5, поэтому в инструкциях для 4-й версии просто заменяют 5 на 4.

4. Убедитесь, что директива DirectoryIndex загружает индексный файл по умолчанию. Это поведение задают в файле httpd.conf. Часто указывают файлы index.php и index.html. По умолчанию веб-сервер включает файл index.php, который отключают, если нужно.
5. Определите местоположение файла php.ini или оставьте настройки по умолчанию. Стандартный путь файла конфигурации PHP в ОС macOS — /usr/local/php/php.ini и вызов функции phpinfo() выведет информацию, которая соответствует настройкам в файле. PHP применяет для директив конфигурации значения по умолчанию, если PHP не нашёл и не загрузил файл php.ini. Смотрите также раздел FAQ, который касается поиска файла php.ini.
6. Расположение директивы `DocumentRoot` и установка корневого каталога документов веб-сервера. DocumentRoot — корневой каталог файлов веб-сервера. Файлы в этом каталоге обслуживает веб-сервер, поэтому перед выводом в браузер веб-сервер обработает PHP-файлы как файлы PHP-скриптов. Стандартный путь по умолчанию — /Library/WebServer/Documents, но когда требуется указать другой путь, его изменяют в файле httpd.conf. Для отдельных пользователей как альтернативу значению директивы DocumentRoot по умолчанию устанавливают путь наподобие /Users/yourusername/Sites.
7. Создайте файл с функцией phpinfo().

   Функция phpinfo() выводит информацию о PHP. Создайте в директории, которую указали в директиве DocumentRoot, скрипт с таким кодом:

       <?php phpinfo(); ?>

8. Перезапустите Apache и запросите через браузер файл, который создали прежде.

   Для перезапуска веб-сервера запустите в терминале команду `sudo apachectl graceful` или выполните перезапуск ПО Personal Web Server в системных настройках macOS. По умолчанию локальные файлы загружаются в браузер по URL-адресу наподобие http://localhost/info.php или по DocumentRoot-пути в локальной директории пользователя, которая примет вид: http://localhost/~yourusername/info.php

Название CLI-версии двоичного файла PHP-интерпретатора, или в более старых версиях CGI-версии, соответствует названию языка — php и лежит по пути /usr/bin/php. Откройте терминал, прочитайте раздел документации PHP командная строка и запустите команду `php -v`, чтобы проверить установленную версию PHP. Вызов функции phpinfo() также выведет эту информацию.

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open