PEAR — это репозиторий классов (модулей) языка PHP, список доступных модулей можно увидеть на её официальном сайте. Установка модулей из данного репозитория на виртуальном хостинге возможна через официальную утилиту командной строки pear.
На серверах виртуального хостинга по умолчанию доступна команда pear, но она работает только для версий PHP 5.2-5.6 включительно. Для установки модулей на PHP 7.0 и новее необходимо установить последнюю версию утилиты на аккаунт по инструкции ниже. Одновременная работа системной утилиты pear и утилиты, установленной локально, в рамках одного аккаунта не гарантируется.
Использование PEAR с PHP 7.0 и новее
Предварительная настройка
Перед установкой первого модуля предварительно необходимо установить последнюю версию утилиты pear, используя официальный установщик в консоли SSH в домашней директории:
1. Загрузить установщик
2. Запустить установку
На первом шаге можно выбрать все параметры по умолчанию, на втором на вопрос "Would you like to alter php.ini </etc/php/cli-php7.4/php.ini>? [Y/n]" необходимо ввести символ "n" (нет). На третьем шаге нужно подтвердить установку клавишей Enter.
3. Добавить путь к утилите в переменную $PATH, чтобы был доступен её запуск из любой папки на аккаунте
Добавьте в файл .profile в корне аккаунта строку вида:
Если файла .profile в корне аккаунта нет, его необходимо предварительно создать.
4. Выйти из SSH-сессии и войти заново для применения изменений в $PATH
5. Обновить данные репозитория
Установка модулей
Установка производится командой вида pear install -o <имя_модуля>. К примеру, установка пакета mail:
$ pear install -o mail Did not download optional dependencies: pear/Net_SMTP, use --alldeps to download automatically pear/Mail can optionally use package "pear/Net_SMTP" (version >= 1.10.0) downloading Mail-1.5.0.tgz ... Starting to download Mail-1.5.0.tgz (23,221 bytes) ........done: 23,221 bytes install ok: channel://pear.php.net/Mail-1.5.0
Указание пути до папки c модулями в include_path
Самым последним действием нужно указать сайту путь до директории, в которой хранятся классы PEAR. Для этого достаточно добавить в файл .htaccess одну строку вида:
в которую необходимо подставить данные в соответствии с вашим аккаунтом. Например, для логина testlogin директива будет выглядеть так:
Как альтернативный вариант, можно добавить указание пути к папке в начало PHP-скрипта, такой строкой:
Использование PEAR с PHP 5.6
Предварительная настройка
Перед установкой первого модуля предварительно необходимо создать файл с настройками в домашней директории такой командой по SSH (выполняется также из домашней директории):
Затем следует скопировать стандартные файлы PEAR, чтобы копия хранилась в домашнем каталоге:
Установка модулей
Установка производится командой вида PHP_PEAR_PHP_BIN=php5.6 pear install -o <имя_модуля>. К примеру, установка пакета File_Find:
$ PHP_PEAR_PHP_BIN=php5.6 pear install -o File_Find downloading File_Find-1.3.3.tgz ... Starting to download File_Find-1.3.3.tgz (8,212 bytes) .....done: 8,212 bytes install ok: channel://pear.php.net/File_Find-1.3.3
Указание пути до папки с модулями в include_path
Самым последним действием нужно указать сайту путь до директории, в которой хранятся классы PEAR. Для этого достаточно добавить в файл .htaccess одну строку вида:
в которую необходимо подставить данные в соответствии с вашим аккаунтом. Например, для логина testlogin директива будет выглядеть так:
Как альтернативный вариант, можно добавить указание пути к папке в начало PHP-скрипта, такой строкой: