Как установить/обновить PHP 8.3 на MacOS с помощью Homebrew

Источник: «How to Install/Upgrade PHP 8.3 on MacOS with Homebrew»
В этой статье рассказывается, как установить или обновить PHP 8.3 на macOS с помощью Homebrew.

PHP 8.3 — это крупное обновление PHP 2023 года, содержащее ряд новых возможностей, таких как типизированные константы классов, гранулированные исключения в расширении DateTime, новая функция json_validate, изменения и улучшения функциональности, а также исправления. В этой статье рассказывается, как установить или обновить PHP 8.3 на macOS с помощью Homebrew.

Shivam Mathur поддерживает две ветки Brew, shivammathur/php и shivammathur/extensions, которые содержат прекомпилированные пакеты PHP 8.3 (bottles), которые постоянно обновляются, что делает удобной установку PHP 8.3 и нескольких расширений ядра PHP и PECL с помощью Homebrew.

Быстрый старт

В терминале macOS выполните следующие команды, которые позволят быстро установить PHP 8.3 с помощью Homebrew. Сначала необходимо установить Homebrew.

Для получения подробной информации перейдите к подробному руководству по установке/модернизации.

# Добавьте метки PHP и PHP Extension
brew tap shivammathur/php
brew tap shivammathur/extensions

# Установите PHP 8.3
brew install shivammathur/php/php@8.3

# Свяжите исполняемый файл PHP 8.3 CLI с `php`.
brew link --overwrite --force shivammathur/php/php@8.3

# Протестируйте установку
php -v

Подробное руководство по установке/обновлению PHP 8.3 на macOS

1. Предварительные условия

Убедитесь, что установлен Homebrew. Это было протестировано на macOS Monterey, Ventura и Sonoma.

Установка PHP 8.3, как показано в остальной части статьи, требует наличия Homebrew и двух тапов Homebrew, поддерживаемых Shivam Mathur.

2. Составьте и сохраните список имеющихся пакетов PHP

При обновлении существующей версии PHP следующая команда выводит список всех пакетов Brew, фильтрует их на наличие слов, связанных с PHP, и сохраняет их в файл packages.txt. Этот файл может пригодиться позже для установки того же набора пакетов PHP для PHP 8.3.

Этот шаг не требуется при установке PHP на новую систему.

brew list --full-name | grep -E "php|shivammathur/extensions" | tee packages.txt

3. Добавление новых тапов Homebrew

brew tap shivammathur/php
brew tap shivammathur/extensions

4. Установка PHP 8.3

brew install shivammathur/php/php@8.3
brew link --force --overwrite shivammathur/php/php@8.3

При установке PHP с ним устанавливается несколько основных расширений. Невозможно изменить список включённых расширений без перекомпиляции PHP.

5. Дополнительные PHP расширения

Тап shivammathur/extensions содержит несколько расширений PECL, готовых к установке.

# Установка xdebug для PHP 8.3
brew install shivammathur/extensions/xdebug@8.3

Полный список доступных расширений можно посмотреть здесь. Для удобства ниже приведены некоторые из наиболее популярных расширений PECL:

РасширениеИмя
Xdebugshivammathur/extensions/xdebug@8.3
APCushivammathur/extensions/apcu@8.3
IMAPshivammathur/extensions/imap@8.3
PCOVshivammathur/extensions/pcov@8.3
Redisshivammathur/extensions/redis@8.3
Swooleshivammathur/extensions/swoole@8.3
YAMLshivammathur/extensions/yaml@8.3

6. Интеграция веб-сервера

Если PHP интегрирован с веб-сервером, перезапустите/перезагрузите веб-сервер, чтобы перезагрузить изменения с новой версией PHP FPM.

7. Тестирование установки PHP 8.3

Запуск php -v в терминале должен показать что-то вроде этого:

$ php -v
PHP 8.3.0-dev (cli) (built: Nov 20 2023 16:22:29) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.0-dev, Copyright (c) Zend Technologies
with Xdebug v3.2.2, Copyright (c) 2002-2023, by Derick Rethans
with Zend OPcache v8.3.0-dev, Copyright (c), by Zend Technologies

8. Перенос конфигурации

Этот шаг применим только при обновлении до PHP 8.3 с более старой версии PHP.

Конфигурационные файлы для PHP 8.3 находятся в каталоге /opt/homebrew/etc/php/8.3. Существующие установки PHP также должны находиться в каталоге /opt/homebrew/etc/php.

Не копируйте существующие файлы PHP INI в каталог /opt/homebrew/etc/php/8.3. Хотя это может сработать при обновлении с PHP 8.2 или более поздней версии, рекомендуется вручную копировать INI директивы.

9. Удаление старых версий PHP

Этот шаг применим только при обновлении до PHP 8.3 с более старой версии PHP.

Для удаления старых версий PHP запустите команду brew uninstall с именем и версией пакета PHP.

PHP, установленный из основных пакетов Brew

brew uninstall php@8.2

PHP был установлен из shivammathur/php

brew uninstall shivammathur/php/php@8.2

Дополнительные материалы

Предыдущая Статья

Как установить или обновить PHP 8.3 на Fedora, RHEL, CentOS

Следующая Статья

Не нужно вручную заполнять базы данных в тестах