Установка PHP модулей из PEAR и PECL в Debian/Ubuntu

()

Язык программирования PHP существует уже третье десятилетие и более десяти лет яляется одним из самых популярных языков для создания web-приложений. Несмотря на богатый функционал "из коробки" существует как минимум два каталога библиотек для PHP: PEAR и PECL. В первом содержатся дополнительные библиотеки, написанные на PHP, во втором - модули PHP, написанные на C.

Вместе с PHP поставляются утилиты pecl и pear, упрощающие работу с этими каталогами. Единственный минус этих утилит в том, что они действуют в обход пакетных менеджеров дистрибутивов Linux, что усложняет управление и может нарушить стабильность системы. К счастью как минимум для Debian и Ubuntu есть решение, которое решает эту проблему. Оно и будет рассмотрено далее.

PHP and PEAR and PECL logo

Подготовка к установке

В Ubuntu вплоть до 14.04 и Debian вплоть до Jessie присутствовал пакет dh-make-php (во многом похожий по смыслу на dh-make-perl для perl CPAN), который достаточно было установить командой:

apt-get install dh-make-php

В более новых версиях дистрибутивов его нет, но пользователь github с ником Avature создал форк dh-make-php и поддерживает в актуальном состоянии. Для установки надо склонировать репозиторий:

git clone https://github.com/Avature/dh-make-php.git

Затем соберём пакет командой:

cd dh-make-php/ && dpkg-buildpackage -rfakeroot  

В процессе сборки могут быть сообщения о неудовлетворённых зависимостях. Для решения проблемы достаточно поставить недостающие пакеты с помощью apt-get и перезапустить сборку. После сборки установим пакет:

sudo dpkg -i ../dh-make-php_*.deb

После установки пакета в системе появятся две команды:

  • dh-make-pear: вспомогательная утилита для сборки пакетов из репозитория PEAR.
  • dh-make-pecl: вспомогательная утилита для сборки пакетов из репозитория PECL.

Установка модуля из PECL

Рассмотрим работу с обеими из них. Для начала попробуем поставить библиотеку amqp из PECL. Скачаем и подготовим исходный код:

dh-make-pecl amqp

После скачивания и подготовки исходный код будет размещён в директории php-<имя_модуля>-<версия>. В данном примере это "php-amqp-1.9.3". Сборка подготовленных исходников и установка пакета выполняются обычным для Debian и Ubuntu способом:

cd php-amqp-1.9.3 && dpkg-buildpackage -rfakeroot -b && sudo dpkg -i ../php-amqp_*.deb

Далее остаётся только включить модуль:

phpenmod amqp

Установка модуля из PEAR

Переходим к установке модулей из PEAR. Для теста будем устанавливать библиотеку MDB2. Здесь всё тоже самое: скачиваем и подготавливаем исходный код:

dh-make-pear mdb2

После скачивания и подготовки исходный код так же будет размещён в директории php-<имя_модуля>-<версия>. В данном примере это "php-mdb2-2.4.1". Собираем и устанавливаем пакет:

cd php-mdb2-2.4.1 && dpkg-buildpackage -rfakeroot -b && dpkg -i ../php-mdb2_*.deb

Заключение

С помощью утилит из пакета dh-make-php можно существенно упростить установку и обновление расширений для PHP. И очень хорошо что нашлись энтузиасты, которые продолжили развитие проекта, после того как его автор забросил разработку.

Ключевые слова: php, pear, pecl, dh-make-php, dpkg-buildpackage.

Подписаться на обновления: RSS-лента Telegram канал Twitter

Комментарии:

Новый комментарий

Жирный текстКурсивный текстПодчёркнутый текстЗачёркнутый текстПрограммный кодСсылкаИзображение




© 2006-2018 Вадим Калинников aka MooSE