macOS начиная с версии Monterey больше не включает PHP по умолчанию как предустановленный компонент, что требует ручной настройки. Чтобы проверить наличие PHP, откройте терминал и выполните команду php -v. Если система не распознаёт команду, значит PHP не установлен или не добавлен в PATH.
Для установки PHP на Mac целесообразно использовать Homebrew – менеджер пакетов для macOS. Если он ещё не установлен, введите в терминале: /bin/bash -c «$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)». После установки Homebrew выполните: brew install php.
После завершения установки стоит убедиться, что система использует нужную версию PHP. Команда which php должна вернуть путь, начинающийся с /opt/homebrew/bin/php (на чипах Apple Silicon) или /usr/local/bin/php (на Intel). Если возвращается другой путь, нужно вручную добавить правильный в переменную среды PATH, отредактировав файл ~/.zshrc или ~/.bash_profile.
Чтобы изменения вступили в силу, выполните: source ~/.zshrc или source ~/.bash_profile, в зависимости от используемой оболочки. После этого команда php -v должна показать актуальную установленную версию.
Проверка установленной версии PHP в macOS
Откройте Terminal и выполните команду:
php -v
В результате отобразится строка с версией установленного интерпретатора, например:
PHP 8.1.2 (cli) (built: Jan 18 2023 07:30:15) (NTS)
Если команда не распознана, PHP может быть не установлен или переменная PATH не содержит путь к исполняемому файлу. Для уточнения пути используйте:
which php
/usr/bin/php
Если путь указывает на системную версию, macOS использует встроенный PHP (в macOS Ventura и новее он удалён). В этом случае потребуется установка через Homebrew.
Проверьте доступные версии PHP, установленные через Homebrew:
brew list | grep php
Чтобы увидеть версию, установленную через Homebrew, выполните:
/opt/homebrew/bin/php -v
Путь может отличаться, если используется Intel-процессор. Для x86_64 путь обычно:
/usr/local/bin/php
Активация встроенного PHP через конфигурацию Apache
Открой терминал и выполни команду sudo nano /etc/apache2/httpd.conf
, чтобы отредактировать основной конфигурационный файл Apache. Найди строку #LoadModule php
– она может выглядеть как #LoadModule php_module libexec/apache2/libphp7.so
или аналогично, в зависимости от версии macOS. Удали символ #
в начале строки для активации модуля PHP.
Прокрути вниз до блока <IfModule mime_module>
. Убедись, что присутствует строка AddType application/x-httpd-php .php
. Если её нет – добавь вручную. Это позволит Apache обрабатывать файлы с расширением .php.
Сохрани изменения: нажми Control + O
, затем Enter
. Выйди из редактора с помощью Control + X
. Перезапусти Apache командой sudo apachectl restart
. После этого .php-файлы начнут обрабатываться встроенным PHP-интерпретатором.
Редактирование httpd.conf для включения PHP-модуля
Файл конфигурации Apache находится по пути /etc/apache2/httpd.conf
. Для его изменения потребуются права администратора.
- Откройте терминал.
- Сделайте резервную копию оригинального файла:
sudo cp /etc/apache2/httpd.conf /etc/apache2/httpd.conf.bak
- Откройте файл в редакторе nano:
sudo nano /etc/apache2/httpd.conf
Найдите строку:
#LoadModule php_module libexec/apache2/libphp7.so
или
#LoadModule php_module libexec/apache2/libphp8.so
Для активации PHP удалите символ #
в начале строки. Убедитесь, что путь к модулю соответствует установленной версии PHP.
Также проверьте, подключён ли файл конфигурации пользователя:
Include /private/etc/apache2/extra/httpd-userdir.conf
Если строка закомментирована, раскомментируйте её.
Сохраните изменения: нажмите Ctrl+O
, затем Enter
. Для выхода – Ctrl+X
.
Перезапустите Apache:
sudo apachectl restart
Перезапуск Apache после изменения конфигурации
После внесения изменений в конфигурационные файлы Apache, например, в /etc/apache2/httpd.conf
или /etc/apache2/extra/httpd-vhosts.conf
, необходимо перезапустить веб-сервер, чтобы настройки вступили в силу.
На macOS используется встроенная служба Apache, которую можно перезапустить через терминал. Для этого выполните команду:
sudo apachectl restart
Если используется macOS Ventura или новее, где LaunchDaemon управляет Apache, предпочтительно выполнить остановку и запуск вручную:
sudo apachectl stop
sudo apachectl start
При возникновении ошибок проверьте синтаксис конфигурации командой:
apachectl configtest
Для просмотра текущего статуса Apache можно использовать:
sudo apachectl status
Если команда недоступна, откройте лог ошибок по пути /var/log/apache2/error_log
:
tail -n 50 /var/log/apache2/error_log
Файл может быть полезен при диагностике проблем после внесения изменений в конфигурацию.
Создание и запуск тестового PHP-файла в браузере
Перейдите в корневую директорию веб-сервера. По умолчанию для встроенного сервера macOS это /Library/WebServer/Documents. Откройте терминал и выполните команду:
cd /Library/WebServer/Documents
Создайте файл index.php с минимальным содержимым для проверки:
sudo nano index.php
Вставьте в редактор следующий код:
<?php
phpinfo();
?>
Сохраните файл: нажмите Ctrl + O, затем Enter, затем Ctrl + X для выхода из редактора.
Убедитесь, что Apache запущен:
sudo apachectl start
Откройте браузер и перейдите по адресу http://localhost. Если PHP включён и настроен корректно, отобразится страница с информацией о конфигурации PHP.
Если файл не загружается или отображается как текст, убедитесь, что модуль PHP активирован в конфигурации Apache. Файл конфигурации находится по пути /etc/apache2/httpd.conf. Убедитесь, что строка LoadModule php_module не закомментирована.
Обновление версии PHP с помощью Homebrew
Для обновления версии PHP на Mac через Homebrew выполните следующие шаги:
1. Откройте терминал и выполните команду, чтобы обновить Homebrew до последней версии:
brew update
2. Чтобы увидеть доступные версии PHP, выполните команду:
brew search php
3. Для установки новой версии PHP используйте команду:
brew install php@версия
Например, для установки PHP 8.1 используйте:
brew install php@8.1
4. После установки новой версии PHP, необходимо переключиться на нее. Выполните команду:
brew link --overwrite --force php@версия
5. Для проверки версии PHP, используйте команду:
php -v
Если установка прошла успешно, будет отображена новая версия PHP. В случае возникновения ошибок, рекомендуется проверить корректность пути к PHP с помощью:
which php
Для того чтобы PHP автоматически использовался при каждом запуске системы, добавьте следующую строку в файл конфигурации вашего шелла (например, ~/.zshrc):
export PATH="/usr/local/opt/php@версия/bin:$PATH"
6. Перезапустите терминал или выполните команду:
source ~/.zshrc
Теперь ваша система использует обновленную версию PHP. Важно следить за тем, чтобы все зависимости обновлялись вместе с новой версией PHP, чтобы избежать несовместимости с другими пакетами.
Переключение между несколькими версиями PHP через терминал
Для работы с различными версиями PHP на Mac через терминал можно использовать инструмент brew
в связке с brew-php-switcher
или php-version
. Важно установить и настроить несколько версий PHP, чтобы легко переключаться между ними в зависимости от требований проекта.
Первым шагом будет установка необходимого пакета. Для этого используйте команду:
brew install php@7.4 php@8.0 php@8.1
Замените номера версий на нужные, в зависимости от того, какие именно версии PHP вы хотите установить.
Для переключения между установленными версиями можно использовать brew link
. Например, чтобы переключиться на PHP 7.4, выполните:
brew link --overwrite --force php@7.4
Если хотите вернуться к более новой версии, например, PHP 8.0, выполните команду:
brew link --overwrite --force php@8.0
Иногда для удобства используют php-version
, который позволяет переключаться между версиями с помощью одной команды. Для установки:
brew install php-version
После этого команды для переключения между версиями будут следующими:
php-version 7.4
php-version 8.0
Проверьте активную версию PHP с помощью команды:
php -v
Если всё настроено корректно, команда отобразит текущую активную версию PHP.
Возможность быстрого переключения между версиями полезна при тестировании приложений на разных версиях PHP, что позволяет избежать конфликтов и повысить совместимость кода.
Вопрос-ответ:
Как включить PHP на Mac через терминал?
Чтобы включить PHP на Mac, необходимо открыть терминал и выполнить команду `php -v`, чтобы проверить, установлен ли PHP. Если PHP не установлен, можно скачать его с официального сайта или установить через Homebrew. Для этого сначала установите Homebrew командой `/bin/bash -c «$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)»`, затем выполните команду `brew install php`. После этого PHP будет доступен через терминал.
Что делать, если PHP уже установлен, но не работает на Mac?
Если PHP установлен, но не работает, попробуйте проверить версию с помощью команды `php -v`. Если версия выводится, но PHP не функционирует как нужно, возможно, проблема в конфигурации. Попробуйте перезапустить сервер Apache с помощью команды `sudo apachectl restart`. Также может понадобиться настроить файл конфигурации PHP или Apache для правильной работы скриптов.
Как проверить установлен ли PHP на Mac?
Для проверки установлен ли PHP на Mac, откройте терминал и введите команду `php -v`. Если PHP установлен, терминал выведет версию PHP. Если PHP не установлен, будет предложено установить его через команду, например, с использованием Homebrew.
Как настроить PHP на Mac для работы с веб-сервером?
Для настройки PHP с веб-сервером на Mac, можно использовать Apache. Убедитесь, что Apache установлен и запущен, с помощью команды `sudo apachectl start`. Затем откройте файл конфигурации Apache, который находится в `/etc/apache2/httpd.conf`, и раскомментируйте строку с загрузкой модуля PHP, например, `LoadModule php_module libexec/apache2/libphp.so`. Перезапустите сервер с помощью команды `sudo apachectl restart`, чтобы изменения вступили в силу. Теперь сервер будет работать с PHP.
Можно ли обновить версию PHP на Mac?
Да, обновить PHP на Mac можно с помощью Homebrew. Для этого выполните следующие шаги: откройте терминал и выполните команду `brew update`, чтобы обновить список пакетов. Затем используйте команду `brew upgrade php`, чтобы установить последнюю версию PHP. После установки перезапустите Apache или другой веб-сервер, чтобы изменения вступили в силу.