
В macOS Monterey и более ранних версиях PHP был предустановлен, но в macOS Ventura и последующих релизах его убрали. Поэтому порядок действий зависит от установленной системы: либо активация встроенного интерпретатора, либо установка через Homebrew.
На macOS Ventura и новее потребуется Homebrew. Сначала следует установить его командой из официального сайта, затем выполнить brew install php. После установки стоит проверить версию и при необходимости добавить путь к PHP в переменную окружения PATH, чтобы избежать ошибок при вызове.
Такой подход гарантирует работу актуальной версии PHP, совместимой с современными фреймворками и системами управления сайтами.
Проверка предустановленной версии PHP через терминал

На macOS можно быстро определить наличие PHP и его версию с помощью терминала.
- Откройте терминал через Spotlight или Launchpad.
- Введите команду:
php -v - В ответе будет указана версия, например:
PHP 8.2.12 (cli) (built: Sep 5 2024 12:34:56)
Если система возвращает сообщение «command not found», значит PHP отсутствует или не добавлен в PATH. В этом случае необходимо установить его вручную, например, через Homebrew.
Для уточнения пути к исполняемому файлу используйте:
which php
Команда отобразит полный путь, например /usr/bin/php или /opt/homebrew/bin/php. Это помогает отличить системную версию от установленной через пакетный менеджер.
Активация Apache и настройка конфигурационного файла httpd.conf

Откройте «Терминал» и выполните команду sudo apachectl start, чтобы запустить встроенный веб-сервер. Проверка работы производится в браузере по адресу http://localhost. Если отображается стандартная страница, Apache активирован.
Файл конфигурации httpd.conf находится в каталоге /etc/apache2/. Перед изменениями создайте резервную копию: sudo cp /etc/apache2/httpd.conf /etc/apache2/httpd.conf.bak.
Откройте файл в текстовом редакторе, например: sudo nano /etc/apache2/httpd.conf. Убедитесь, что строка LoadModule php_module не закомментирована. Для этого уберите символ # в начале строки. Путь к модулю может отличаться в зависимости от версии macOS.
Проверьте параметр DocumentRoot. По умолчанию используется /Library/WebServer/Documents. Для работы в собственной папке укажите путь, например /Users/имя_пользователя/Sites, и измените директиву <Directory> под него.
После редактирования сохраните файл и перезапустите Apache командой sudo apachectl restart. При ошибках используйте apachectl configtest для проверки синтаксиса.
Подключение и настройка модуля php в Apache

На macOS Apache уже установлен, а модуль php может быть отключён. Для активации нужно отредактировать конфигурацию Apache:
Откройте файл /etc/apache2/httpd.conf с правами администратора и найдите строку с модулем php. В зависимости от версии macOS это может быть LoadModule php_module libexec/apache2/libphp7.so или LoadModule php_module libexec/apache2/libphp8.so. Уберите символ # в начале строки.
Сохраните файл и перезапустите Apache командой: sudo apachectl restart.
Чтобы проверить работу, создайте файл info.php в каталоге /Library/WebServer/Documents/ со строкой <?php phpinfo(); ?>. Затем откройте в браузере http://localhost/info.php. Отображение информации о конфигурации PHP подтвердит, что модуль подключён.
Создание тестового PHP-файла для проверки работы

Откройте любой текстовый редактор, например TextEdit или Visual Studio Code, и создайте новый файл с именем info.php.
Вставьте в него код:
<?php
phpinfo();
?>
Сохраните файл в каталоге /Library/WebServer/Documents/ или в папке, указанной в настройках Apache.
Перейдите в браузере по адресу http://localhost/info.php. Если PHP работает корректно, отобразится страница с подробной информацией о конфигурации.
После проверки удалите файл, чтобы исключить доступ к служебным данным извне.
Установка и использование Homebrew для обновления PHP

Homebrew устанавливается командой /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)". После установки проверьте путь: brew --version.
Для добавления PHP используйте brew install php. Обычно это последняя стабильная версия. Если требуется конкретная версия, например 8.2, выполните brew install php@8.2.
Для переключения между версиями используйте brew unlink php и brew link php@8.2 --force --overwrite. Проверка активной версии: php -v.
При обновлении пакетов выполняйте brew update и brew upgrade php. Это обеспечит актуальные сборки и исправления безопасности.
Если PHP установлен через Homebrew, бинарные файлы находятся в каталоге /usr/local/opt/php/bin или /opt/homebrew/opt/php/bin на Apple Silicon. Добавьте соответствующий путь в .zshrc или .bash_profile:
export PATH="/opt/homebrew/opt/php/bin:$PATH"
Переключение между несколькими версиями PHP на Mac

Для управления несколькими версиями PHP на Mac чаще всего используют Homebrew и утилиту brew-php-switcher. Убедитесь, что Homebrew установлен и обновлен командой brew update.
Установите нужные версии PHP через Homebrew, например: brew install php@7.4, brew install php@8.1. Каждая версия будет находиться в отдельной директории в /usr/local/opt/ или /opt/homebrew/opt/ на M1/M2.
Для переключения версий можно использовать brew link --overwrite --force php@7.4 для активации PHP 7.4. Проверить активную версию можно командой php -v. Для возврата к другой версии используйте аналогичную команду с соответствующей версией.
Для упрощения процесса рекомендуется использовать brew-php-switcher: установите его командой brew install brew-php-switcher, затем переключайтесь между версиями командой brew-php-switcher 8.1. Скрипт автоматически обновляет PATH и ссылки в /usr/local/bin.
Если требуется отдельная версия PHP для конкретного проекта, можно настроить локальный PHP через php-fpm с указанием конфигурационного файла php.ini в проекте и запуском нужной версии PHP на нестандартном порту.
Для проверки соответствия версии PHP с установленными расширениями используйте php -m и php -i. Это особенно важно при работе с Composer и различными фреймворками, которые требуют конкретных версий PHP.
Вопрос-ответ:
Почему PHP не работает на моем Mac после обновления до macOS Ventura?
В новых версиях macOS PHP больше не включен по умолчанию. Это значит, что после обновления система не распознает команды php в терминале. Чтобы вернуть возможность использования PHP, необходимо установить его через Homebrew или включить встроенную версию, если она доступна, отредактировав файл конфигурации Apache и активировав модуль PHP.
Как проверить, включен ли PHP на моем Mac?
Откройте Терминал и введите команду php -v. Если PHP активен, вы увидите номер версии и другие сведения. Если команда не распознается, значит PHP не активирован или отсутствует на системе, и его нужно установить или подключить модуль в веб-сервере.
Как включить PHP через встроенный Apache на Mac?
Сначала убедитесь, что Apache установлен. Затем откройте файл конфигурации Apache, обычно /etc/apache2/httpd.conf, и найдите строку с #LoadModule php_module. Уберите символ # в начале строки, чтобы активировать модуль. После этого перезапустите Apache командой sudo apachectl restart. Теперь сервер будет обрабатывать PHP-файлы.
Можно ли использовать несколько версий PHP на одном Mac?
Да, это возможно с помощью Homebrew. Вы можете установить разные версии PHP через команды вроде brew install php@7.4 или brew install php@8.2. Для переключения между ними используется команда brew link --overwrite --force php@<версия>. Также удобно использовать менеджеры версий, такие как Valet или phpbrew, чтобы работать с несколькими версиями параллельно.
После включения PHP веб-сервер продолжает выдавать код PHP вместо его выполнения. Что делать?
Чаще всего это связано с тем, что Apache не настроен на обработку PHP-файлов. Проверьте, что в файле конфигурации добавлена директива AddType application/x-httpd-php .php. После внесения изменений перезапустите сервер. Также убедитесь, что файл с PHP имеет расширение .php и находится в каталоге, доступном для Apache.
Как включить PHP на Mac, если после обновления macOS он перестал работать?
На последних версиях macOS PHP не включен по умолчанию, поэтому сначала нужно убедиться, что в системе есть установленный PHP. Откройте Терминал и введите команду php -v, чтобы проверить версию. Если система сообщает, что PHP не найден, его можно установить через Homebrew: brew install php. После установки необходимо активировать PHP в Apache, если вы планируете использовать встроенный веб-сервер. Для этого откройте файл конфигурации Apache /etc/apache2/httpd.conf, найдите строку с #LoadModule php_module и удалите символ #, чтобы строка стала активной. Затем перезапустите Apache командой sudo apachectl restart. После этого PHP должен корректно работать, и вы сможете проверять его работу через создание файла info.php с содержимым <?php phpinfo(); ?> в папке сайта.
