PEAR (акроним от английских слов PHP Extension and Application Repository) — это библиотека классов PHP с открытым исходным кодом. В стандартную поставку PHP входит система управления классами PEAR, которая позволяет легко скачивать и обновлять их. PECL (англ. PHP Extension Community Library) — это репозиторий модулей для PHP, написанных на C, доступных через систему пакетов PEAR. PECL был создан, когда возникла проблема удаления некоторых модулей из стандартной поставки PHP. Модули PECL разработаны в соответствии со стандартами кодирования, которые приняты командой разработчиков PHP.
PEAR и PECL нам понадобятся для расширения возможностей РНР. Наличие в системе некоторых из PEAR и PECL требуются многими CMS, сторонними скриптами, форумами и пр.. Поэтому нам нужно будет по запросу устанавливать дополнительные PEAR и PECL расширения, а для того что бы иметь такую возможность нам сначала нужно установить PEAR из портов.
По умолчанию в OpenBSD коллекция портов отсутствует в системе и её нужно устанавливать отдельно. Установка коллекции портов сводится к обычному копированию и распаковке архива с портами:
После сборки порта PEAR мы можем использовать команды "pear" и "pecl" для установки дополнительных расширений например JSON: pecl install json
Во время установки расширений могут возникнуть ошибки с сообщением:
Provide an AUTOCONF_VERSION environment variable, please
ERROR: phpize failed
Это переводится как "пожалуйста установите переменную AUTOCONF_VERSION". Перед установкой переменной нужно узнать версию этого самого AUTOCONF, а заодно и версию "automake":
Autoconf это утилита для создания скриптов, которые автоматически настраивают пакеты с исходным кодом так, чтобы они могли работать на множестве UNIX.
Automake — это утилита для автоматической генерации файлов Makefile.in из файлов Makefile.am. Каждый файл Makefile.am фактически является набором макросов для программы make (иногда с несколькими правилами). Полученные таким образом файлы Makefile.in соответствуют стандартам GNU Makefile.
Если в системе находится слишком много версий этих утилит, то мы снесём более старые и если нужно установим самые свежие версии:
После того как мы обновили autoconf и automake, а так же выяснили номера их версий, то теперь можно установить переменную AUTOCONF_VERSION и успешно установить JSON:
Дополнительную информацию о ключах для комманд "pear" и "pecl" можно узнать запустив одну из них без параметров.
Компиляция общих расширений с помощью phpize
Иногда, использование инсталлятора pecl не подходит. Это может быть связано с тем, что вы находитесь за файерволом или из-за того, что расширение, которое вы хотите установить, недоступно в PECL-совместимом пакете (к примеру, расширения из CVS, которые еще не зарелизены). Для получения дополнительной информации перейдите по ссылке >>>