Блог / Статьи

Полезная информация для вашего хостинга

5 способов управления версиями PHP на macOS, Windows и Linux

5 способов управления версиями PHP

Управление несколькими версиями PHP — распространенная задача при разработке, так как разные проекты требуют разных версий из-за зависимостей фреймворков и требований к совместимости. Хотя переключение между версиями может показаться сложным, особенно на уровне системы, существуют инструменты, упрощающие этот процесс.

1. Использование Homebrew

php2

Плюсы:
- Простая установка и управление версиями 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.

 php3

Homebrew упрощает использование нескольких версий PHP в macOS и Linux через интерфейс командной строки. Но у него также есть свои плюсы и минусы. Поэтому, принимая решение о том, подходит ли вам Homebrew, учитывайте следующее.

 2. Использование PHP Monitor (только macOS)

php4

Плюсы:
- Интуитивно понятный интерфейс.
- Простое управление версиями PHP в несколько кликов.
- Быстрое переключение между версиями одной кнопкой.

Минусы:
- Доступен только на macOS.
- Требует Homebrew для установки PHP.
- Завязан на Laravel Valet для работы с версиями PHP в проектах.

PHP Monitor — это легкое приложение для macOS, позволяющее управлять версиями PHP через удобный интерфейс.

Возможности PHP Monitor:
- Просмотр установленных версий PHP.
- Переключение между версиями в один клик.
- Доступ к файлу конфигурации PHP и настройкам памяти.
- Простая установка и обновление PHP через меню **Manage PHP Installations…**.

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

php5

Как мы видели выше, вы можете просмотреть, какие версии PHP установлены на вашем компьютере, текущая версия активна во всем мире, получить доступ к файлу конфигурации PHP, просмотреть ограничение памяти и многое другое.

Приложение также предоставляет простой способ установки и обновления версий PHP из раздела Управление установками PHP… меню.

php6

3. Использование PHPCTL

php7

Плюсы:
- Кроссплатформенность и портативность.
- Дополнительные 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-контейнера. 

php8

Переключение между версиями 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)

php9

Плюсы:
- Простая установка и управление 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.

Мы используем файлы cookie
Это необходимо для реализации основных функций сайта, а также для сбора данных о том, как посетители взаимодействуют с сайтом. Продолжив работу с сайтом, вы соглашаетесь с Политикой обработки файлов cookie и Политикой обработки персональных данных.