Ответ
PECL (PHP Extension Community Library) — это репозиторий и система распространения бинарных расширений PHP, написанных на C. Эти расширения компилируются в виде .so (Linux/macOS) или .dll (Windows) файлов и напрямую интегрируются в ядро PHP, предоставляя высокопроизводительную низкоуровневую функциональность.
Ключевые отличия от Composer (который управляет PHP-кодом):
- PECL расширения — это скомпилированный C-код, а Composer пакеты — это PHP-скрипты.
- Установка PECL расширения требует наличия компилятора и заголовочных файлов PHP (
php-dev). - Расширения нужно пересобирать при обновлении основной версии PHP.
Пример установки расширения redis:
pecl install redis
После установки необходимо добавить строку в файл php.ini:
extension=redis.so
# или для Windows
extension=php_redis.dll
Популярные расширения из PECL, которые я использовал в работе:
xdebug— незаменим для отладки и профилирования кода.redis— высокопроизводительный клиент для работы с Redis.imagick— мощная библиотека для обработки изображений (альтернатива GD).pcov— быстрый драйвер для покрытия кода (code coverage).
Для управления расширениями в Docker-образах я обычно использую команды docker-php-ext-install (для core-расширений) и pecl install с последующим docker-php-ext-enable.