Как установить/обновить 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:
Расширение | Имя |
---|---|
Xdebug | shivammathur/extensions/xdebug@8.3 |
APCu | shivammathur/extensions/apcu@8.3 |
IMAP | shivammathur/extensions/imap@8.3 |
PCOV | shivammathur/extensions/pcov@8.3 |
Redis | shivammathur/extensions/redis@8.3 |
Swoole | shivammathur/extensions/swoole@8.3 |
YAML | shivammathur/extensions/yaml@8.3 |
6. Интеграция веб-сервера
Если PHP интегрирован с веб-сервером, перезапустите/перезагрузите веб-сервер, чтобы перезагрузить изменения с новой версией PHP FPM.
- Apache:
brew services restart httpd
- Nginx:
brew services restart nginx
- Caddy:
caddy reload
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 на Ubuntu и Debian
- Как установить или обновить PHP 8.3 на Fedora, RHEL, CentOS