---
title: "RFC пропонує закрити PECL у 2029 році: графік і що робити зараз"
url: https://laravelukraine.com/blog/rfc-proponuje-zakriti-pecl-u-2029-roci-grafik-i-shho-robiti-zaraz
date: 2026-11-09
---

# RFC пропонує закрити PECL у 2029 році: графік і що робити зараз

У PECL з'явилася конкретна дата смерті - поки що на папері. 5 листопада Джеймс Тіткамб, автор PIE, виніс на обговорення [RFC «Sunset PECL»](https://wiki.php.net/rfc/sunset_pecl) з графіком закриття pecl.php.net: спершу банер, потім режим лише для читання, серія тимчасових вимкнень і повне закриття наприкінці 2029 року. Для всіх, у кого `pecl install` живе в Dockerfile, CI чи скриптах налаштування серверів, це дати, під які варто планувати перехід.

### PECL і PIE коротко

PECL - старий каталог розширень PHP на C разом з однойменною утилітою: саме нею роками ставили `redis`, `imagick`, `xdebug`, `swoole` чи `mongodb`. [PIE](https://github.com/php/pie) - його заміна від PHP Foundation: розширення там - звичайні Composer-пакети на Packagist (`phpredis/phpredis`, `xdebug/xdebug`), а сам інсталятор працює схоже на Composer. Восени 2025 року пройшло [RFC про перехід на PIE і депрекейт PECL](https://wiki.php.net/rfc/adopt_pie_deprecate_pecl), і воно ж вимагало окремого RFC з графіком закриття. Це RFC і з'явилося.

Як PIE працює в Dockerfile і CI, ми детально розбирали в [огляді PIE 1.5](https://laravelukraine.com/blog/pie-15-select-zamist-avtoviboru-i-shho-zminiti-v-dockerfile-ta-ci) - там же таблиця відповідностей команд `pecl` і `pie`. Тут не повторюватимемося.

### Графік із RFC

- **Понеділок, 4 січня 2027 року** - на pecl.php.net з'являється банер: сайт стане лише для читання, і ось як авторам розширень перейти на PIE.
- **Середа, 30 червня 2027 року** - сайт повністю лише для читання. Увійти в нього вже не можна, нові випуски не завантажити.
- **Вересень-грудень 2029 року** - тимчасові вимкнення (brownout), щоразу довші, щоб про закриття дізналися всі, хто досі на PECL. Під них потрапляють і завантаження для Windows:
  - 3 вересня - 3 години;
  - 1 жовтня - 6 годин;
  - 5 листопада - 24 години;
  - з 3 по 6 грудня - 3 дні.
- **Понеділок, 31 грудня 2029 року** - сайт вимикають, а git-репозиторії утиліти й сайту PECL архівують.

Розділ про зворотну несумісність в RFC займає два речення: PECL перестане працювати, далі - тільки PIE.

### Це ще не рішення

Статус RFC - Under Discussion. Голосування не призначене: дата в документі поки стоїть заглушкою, а для ухвалення знадобиться дві третини голосів. Мінімальний термін обговорення за правилами RFC у PHP - два тижні, тож проголосувати раніше другої половини листопада не вийде.

Саме обговорення в [треді internals](https://news-web.php.net/php.internals/133008) поки доброзичливе, але дати можуть зсунутися. Ровен Томмінс вважає надто довгою паузу між режимом читання і закриттям: два з половиною роки сайт роздаватиме пакети, які ніхто не зможе пропатчити, якщо в них знайдуть вразливість. Дерик Ретанс у відповідь запропонував просто скоротити цей період на рік і закрити сайт на рік раніше. Якуб Зеленка попросив згадати, що PIE є й у вигляді самостійного бінарника, тож годиться і для старих версій PHP - Тіткамб пообіцяв додати таку примітку.

### Docker уже вирішив за вас

Тім Дюстерхус в обговоренні нагадав важливе: офіційні Docker-образи PHP - мабуть, головне місце, де досі вручну ставлять сторонні розширення, - [прибирають PECL з PHP 8.6](https://github.com/docker-library/php/pull/1654). Зміну злили ще в червні, тож в образах `php:8.6-*` команди `pecl` просто не буде. За його словами, кінцева дата з RFC збігається з кінцем підтримки PHP 8.5 - останньої версії, де `pecl` ще є в образі.

Тобто для більшості проєктів на Laravel реальний дедлайн - не 2029 рік, а перехід на PHP 8.6. Рядок на кшталт

```dockerfile
  RUN pecl install redis && docker-php-ext-enable redis
```

на новому образі впаде. Замість нього PIE можна підключити тільки на час збірки, з його бінарного образу, не копіюючи у фінальний образ:

```dockerfile
  RUN --mount=type=bind,from=ghcr.io/php/pie:bin,source=/pie,target=/usr/local/bin/pie \
      pie install phpredis/phpredis
```

PIE сам увімкне розширення через `docker-php-ext-enable`. Врахуйте, що йому, як і Composer, потрібен `unzip` або розширення `zip`; приклад повного Dockerfile є в [документації PIE](https://github.com/php/pie/blob/main/docs/usage.md). Чи переїхало потрібне вам розширення, видно в [каталозі розширень на Packagist](https://packagist.org/extensions).

### Що робити авторам розширень

Головна дата для вас - 30 червня 2027 року: після неї нового випуску на PECL не опублікувати. Перехід описаний у [посібнику для мейнтейнерів](https://github.com/php/pie/blob/main/docs/extension-maintainers.md) і зводиться до кількох кроків:

- додати в репозиторій `composer.json` з `type: php-ext` (або `php-ext-zend` для Zend-розширень) і назвою у форматі `vendor/package`;
- опублікувати пакет на Packagist - далі випуском стає звичайний git-тег, `package.xml` з переліком випусків більше не потрібен;
- для Windows прикладати до випусків зібрані DLL: PIE на Windows нічого не компілює, а бере готові бінарники.

### Що зробити зараз

- Пошукайте `pecl` у Dockerfile, конфігах CI, Ansible-ролях і скриптах налаштування серверів - так видно весь масштаб робіт.
- Міняйте `pecl install` на `pie install` разом з переходом на PHP 8.6, а не окремим проєктом у 2029-му: Docker-образи все одно змусять.
- Перевірте, що всі потрібні розширення вже є на Packagist. Якщо якогось немає, відкрийте issue в його репозиторії зараз - до 30 червня 2027 року в автора ще є запас часу.
- Стежте за голосуванням: якщо пропозицію Ретанса приймуть, кінцева дата може зсунутися на кінець 2028 року.
