PIE - Composer для PHP-расширений, которого мы так долго ждали

17 Jun, 2026
1,887
🔱 62
👥 28

Сколько раз вы ловили себя на мысли, что установка PHP-расширений — это настоящий квест? Найти нужные зависимости, разобраться с pecl, скомпилировать из исходников, а потом еще и правильно прописать все в php.ini. Особенно «весело» становится, когда нужно настроить окружение для нового коллеги или в CI/CD пайплайне. Знакомая ситуация? Кажется, этой головной боли скоро придет конец. Встречайте — PIE (PHP Installer for Extensions).

Это не просто очередной инструмент, а официальный проект от команды PHP, который призван стать современным преемником старого-доброго PECL. Давайте разберемся, что это за «пирог» и почему его стоит попробовать уже сегодня.

Что такое PIE и зачем он нужен?

Если коротко, PIE — это менеджер PHP-расширений, работающий по принципу Composer. Вы ведь используете Composer для управления PHP-пакетами в своем проекте? PIE делает то же самое, но для расширений самого PHP — модулей, которые подключаются на уровне интерпретатора (вроде xdebug, imagick или redis).

Главная идея PIE — сделать процесс установки и управления расширениями таким же простым и декларативным, как управление зависимостями проекта. Он распространяется в виде простого phar-архива, который можно скачать и сразу использовать. Никаких сложных установок и зависимостей.

Самое важное: за проектом стоит The PHP Foundation. Это значит, что у PIE есть все шансы стать новым стандартом в экосистеме PHP.

Реклама

Ключевые возможности: как PIE облегчает жизнь?

Давайте перейдем от слов к делу и посмотрим, что конкретно предлагает PIE.

1. Установка в стиле Composer

Забудьте о командах pecl install или ручной компиляции. С PIE установка расширения выглядит до боли знакомо:

pie install example/example-pie-extension

Инструмент сам найдет пакет на Packagist Extensions, скачает нужную версию, скомпилирует (если нужно) и установит. Все происходит в одну команду, прямо как с Composer.

2. Автоматическая настройка для всего проекта

А вот это — настоящая магия и, пожалуй, главная фича PIE. Представьте, вы клонируете новый проект. Ваши действия? Обычно это composer install. А что, если я скажу, что теперь достаточно добавить еще одну команду, и все необходимые PHP-расширения установятся сами?

Просто запустите pie install в корне проекта:

$ pie install
🥧 PHP Installer for Extensions (PIE), 0.9.0, from The PHP Foundation
...
Checking extensions for your project your-vendor/your-project
requires: curl  Already installed
requires: intl  Already installed
requires: json  Already installed
requires: example_pie_extension ⚠️  Missing

The following packages may be suitable, which would you like to install:
  [0] None
  [1] asgrim/example-pie-extension: Example PIE extension
 > 1
 ...
 >  Extension is enabled and loaded in /usr/bin/php8.3

PIE просканирует composer.json вашего проекта, найдет все зависимости в секции require, которые начинаются с ext-, проверит, какие из них отсутствуют в вашей системе, и предложит их установить! Это кардинально меняет подход к настройке рабочего окружения.

3. Умная работа с разными ОС

Команда PIE позаботилась о том, чтобы инструмент работал одинаково удобно и на Linux, и на Windows.

  • На Linux он автоматически выполнит всю грязную работу: запустит phpize, configure, make и make install. Вам понадобится лишь стандартный набор для сборки (gcc, make и т.д.).
  • На Windows все еще проще. PIE знает, что расширения для Windows поставляются в виде готовых .dll файлов, поэтому он просто скачает нужный скомпилированный пакет. Никаких build toolchain не требуется.

При этом команда для разработчика остается одной и той же: pie install ....

4. Полезные подсказки и автоматизация

После установки расширения PIE не бросает вас на полпути. Он четко указывает, что нужно сделать дальше:

Install complete: /usr/lib/php/20230831/example_pie_extension.so
You must now add "extension=example_pie_extension" to your php.ini

Более того, в свежих версиях он даже может попытаться включить расширение самостоятельно, что еще больше снижает риск человеческой ошибки.

Практические сценарии: где PIE пригодится больше всего?

  • Быстрый старт для новых разработчиков. Новый человек в команде? Теперь ему не нужно читать длинные инструкции по настройке окружения. git clone, composer install, pie install — и можно приступать к работе.
  • Стандартизация CI/CD. Вместо сложных многострочных команд в вашем Dockerfile или .gitlab-ci.yml для установки каждого расширения, теперь достаточно одной команды pie install. Это делает пайплайны чище, надежнее и проще в поддержке.
  • Локальная разработка. Если вы работаете над несколькими проектами с разными требованиями к расширениям, PIE поможет быстро переключаться между ними, доустанавливая только то, что необходимо для конкретного проекта.

Пора ли прощаться с PECL?

PIE — проект молодой, он появился только в 2024 году. Конечно, экосистема расширений, поддерживающих его, пока только растет. PECL существует десятилетиями, и его репозиторий огромен.

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

PIE — это глоток свежего воздуха в управлении PHP-расширениями. Он берет лучшие идеи от Composer и применяет их к системным зависимостям PHP, решая множество старых проблем. Простота, автоматизация на основе composer.json и кроссплатформенность делают его невероятно мощным инструментом.

Если вы устали от ручной компиляции и хотите сделать процесс настройки окружения предсказуемым и быстрым, обязательно дайте шанс php/pie. Возможно, это именно тот инструмент, которого вы так долго ждали.

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