Pear (PHP Extension and Application Repository) — полезный инструмент для установки расширений PHP и репозиториев в Linux, Max и Windows. Это позволяет добавлять функциональность в PHP без риска случайного поиска кода в Интернете. Если вы ничего не знаете, добавление кода, не зная, что источник является надежным, может открыть любое количество уязвимостей для вашего сервера, поскольку PHP может получить доступ к другим программам, утилитам и ресурсам.
Сегодня я хотел установить пакет из репозиториев PECL. Вместо того, чтобы скачивать, компилировать и устанавливать непосредственно из PECL, я решил, что я пойду дальше и установлю Pear, поскольку это ресурс, которым я часто пользуюсь. Одна проблема, которая может возникнуть после установки Pear, — это отсутствие зависимостей.
Вот процесс, который я использовал для установки Pear на Ubuntu 16.04.
CD ~ / SRC
wget http://pear.php.net/go-pear.phar
sudo php go-pear.phar
Я изменил опцию 9, чтобы отразить путь к моим сайтам, но в остальном не нужно было менять какие-либо опции.
Чтобы проверить запуск установки
груша версия
Помимо перечисления ожидаемого результата:
Я также получил (очень) длинный список ошибок, небольшую часть на изображении ниже:
Проблема включает в себя SNMP и MIBs, которые идут с ним. Чтобы исправить зависимости, это простой вопрос. Ниже приведена команда для установки необходимых зависимостей:
sudo apt-get установить libsnmp-dev libsnmpkit-dev snmp-mibs-downloader
После того, как это будет завершено, проверьте версию установки с Pear, на этот раз вывод:
Теперь обновите Pear, чтобы получить доступ к репозиториям:
каналы обновления sudo pear
Что следует иметь в виду, если вы используете PHP 7.0, многие расширения еще не были обновлены, чтобы приспособиться к новой версии. Если вы планируете установить определенные модули, вам может потребоваться установить дополнительную версию PHP.
Мне нужен модуль Log, поэтому я буду использовать пример pear / Log.
sudo pear install –alldeps pear / Log
При использовании –alldeps все рекомендуемые дополнительные модули (например, pear / SASL2) автоматически устанавливаются как часть установки, в противном случае их необходимо добавлять по отдельности. Как отмечено в последней строке, вы можете добавить определенные дополнения, которые не считаются необходимыми по умолчанию, как это
Судо груша установить MDB2 # mysqli
Если у вас отсутствуют какие-либо дополнительные зависимости, они будут перечислены в случае сбоя компиляции, а также все рекомендуемые пакеты, такие как
судо груша установить pecl / spidermonkey
К сожалению, libjs не может быть загружен напрямую как пакет. Чтобы найти пакеты, которые предоставят его, вам нужно установить программу, которая неоценима:
sudo apt-get установить apt-файл
обновление sudo apt-файла
sudo apt-файл jsapi.h
Apt-файл — удивительно полезный инструмент для поиска зависимостей. Возвращает список пакетов, которые предоставят jsapi.h. Загрузить и установить. Тогда вы можете пойти дальше и установить модуль PHP,
судо груша установить pecl / spidermonkey
Больше никаких проблем с зависимостями, и хороший маленький модуль для вашего использования.