Управление несколькими версиями PHP — распространенная задача при разработке, так как разные проекты требуют разных версий из-за зависимостей фреймворков и требований к совместимости. Хотя переключение между версиями может показаться сложным, особенно на уровне системы, существуют инструменты, упрощающие этот процесс.
1. Использование Homebrew
Плюсы:
- Простая установка и управление версиями PHP.
- Быстрое переключение между версиями с помощью команд.
- Регулярные обновления и активная поддержка.
- Работает на macOS и Linux.
Минусы:
- Доступен только на macOS и Linux.
- Обновление может быть медленным и запутанным для новичков.
Homebrew — это популярный пакетный менеджер для macOS и Linux, который упрощает управление версиями PHP.
Установка разных версий PHP
Сначала подключаем репозиторий Shivam Mathur, который содержит различные версии PHP:
brew tap shivammathur/php
Затем устанавливаем нужные версии PHP:
`brew install shivammathur/php/php@7.4
brew install shivammathur/php/php@8.2
brew install shivammathur/php/php
Вы можете установить любое количество версий в зависимости от требований проектов.
Переключение между версиями PHP
Хотя Homebrew позволяет установить несколько версий PHP одновременно, система использует только одну версию через переменную PATH.
Допустим, у вас активен PHP 8.3, но вам нужно переключиться на PHP 7.4. Сначала отвязываем текущую версию:
brew unlink php
Затем активируем нужную версию:
brew link php@7.4
Теперь, если выполнить команду `php -v`, отобразится версия 7.4.
Homebrew упрощает использование нескольких версий PHP в macOS и Linux через интерфейс командной строки. Но у него также есть свои плюсы и минусы. Поэтому, принимая решение о том, подходит ли вам Homebrew, учитывайте следующее.
2. Использование PHP Monitor (только macOS)
Плюсы:
- Интуитивно понятный интерфейс.
- Простое управление версиями PHP в несколько кликов.
- Быстрое переключение между версиями одной кнопкой.
Минусы:
- Доступен только на macOS.
- Требует Homebrew для установки PHP.
- Завязан на Laravel Valet для работы с версиями PHP в проектах.
PHP Monitor — это легкое приложение для macOS, позволяющее управлять версиями PHP через удобный интерфейс.
Возможности PHP Monitor:
- Просмотр установленных версий PHP.
- Переключение между версиями в один клик.
- Доступ к файлу конфигурации PHP и настройкам памяти.
- Простая установка и обновление PHP через меню **Manage PHP Installations…**.
Этот инструмент отлично подходит для разработчиков, работающих на macOS, которым нужно быстро переключаться между версиями PHP без использования терминала.
Как мы видели выше, вы можете просмотреть, какие версии PHP установлены на вашем компьютере, текущая версия активна во всем мире, получить доступ к файлу конфигурации PHP, просмотреть ограничение памяти и многое другое.
Приложение также предоставляет простой способ установки и обновления версий PHP из раздела Управление установками PHP… меню.
3. Использование PHPCTL
Плюсы:
- Кроссплатформенность и портативность.
- Дополнительные CLI-инструменты (PHPCS, PHPUnit, RectorPHP и др.).
Минусы:
- Требуется установленный Docker.
- Нужно вручную настраивать файл `.phpctlrc` для переключения версий.
- Docker может потреблять больше ресурсов, чем другие решения.
PHPCTL использует контейнеры Docker для управления версиями PHP, что делает его независимым от операционной системы. Он также предоставляет дополнительные CLI-инструменты, упрощающие работу с PHP.
Установка PHPCTL
Сначала установите Docker (Docker Desktop или OrbStack для macOS). Затем установите PHPCTL:
/bin/bash -c "$(curl -fsSL https://phpctl.dev/install.sh)"
Или через Homebrew:
brew install opencodeco/phpctl/phpctl
Проверить установку можно командой:
phpctl list
Команды `php -v` и `composer -v` будут выполняться внутри Docker-контейнера.
Переключение между версиями PHP
Создайте файл `.phpctlrc` в нужной директории и укажите версию:
PHP_VERSION=83
Теперь PHPCTL автоматически будет использовать указанную версию.
4. Использование PVM (только Windows)
Плюсы:
- Простая установка и управление PHP на Windows.
- Похож на nvm, поэтому удобен в освоении.
Минусы:
- Работает только на Windows.
- Установка требует ручной настройки.
PVM (PHP Version Manager) — аналог nvm для PHP, упрощающий управление версиями PHP на Windows.
Установка PVM
1. Скачайте последнюю версию PVM с [GitHub](https://github.com).
2. Создайте папку `C:\Users\ВашПрофиль\.pvm\bin`.
3. Переместите `pvm.exe` в эту папку.
4. Добавьте `.pvm\bin` в `PATH` через **Свойства системы → Переменные среды**.
Установка и переключение PHP
Установить версию PHP:
pvm install 8.2
Переключиться на нужную версию:
pvm use 8.2
Для конкретной версии:
pvm use 8.2.3
PVM делает управление PHP на Windows удобным, но требует ручной настройки.
5. Использование Laravel Valet (только macOS)
Плюсы:
- Простая установка и управление PHP.
- Быстрое переключение версий в проектах.
- Поддерживает Laravel, WordPress, Symfony и другие.
Минусы:
- Доступен только на macOS.
- Требует Homebrew.
Laravel Valet — это легкая среда для разработки PHP на macOS с возможностью быстрого переключения версий.
Установка Valet
Установите Valet через Composer:
composer global require laravel/valet
Затем выполните команду:
valet install
Переключение версий PHP
Чтобы сменить версию PHP глобально:
valet use php@8.2
Для проекта создайте файл `.valetrc` с содержимым:
php=php@8.2
Затем выполните:
valet use
Valet автоматически установит нужную версию, если она отсутствует.
Итог
Теперь управление версиями PHP на macOS, Linux и Windows стало проще. Выбирайте инструмент, который лучше всего вписывается в ваш рабочий процесс!
При разработке сайтов на CMS, таких как WordPress, Joomla или OpenCart, важно учитывать совместимость с различными версиями PHP. Например, устаревшие версии PHP могут вызывать ошибки в работе плагинов, а новые — требовать обновления кода. Управление версиями PHP с помощью Homebrew, PHPCTL, PVM или Valet позволяет тестировать сайт в среде, аналогичной вашему хостингу. Это особенно полезно при выборе хостинга, поддерживающего нужные версии PHP, что обеспечит стабильную и безопасную работу вашей CMS.