Я использую phing в качестве инструмента развертывания в CentOS, и я хотел бы использовать SshTask, для которого необходимо было установить libssh2.
Я попробовал "pecl install ssh2", но мне нужно было указать префикс libssh2 [/ usr?]
Я заметил, что это означает, что мне сначала нужно установить libssh2, но у yum этого пакета нет. Итак, мой вопрос: как лучше всего установить libssh2 на Centos, а затем установить расширение pecl?
чтобы установить libssh2 на centos, выполните следующие действия:
скачайте libssh2 с официального сайта (ищите в гугле - у меня нет репутации, и я могу разместить только одну ссылку)
извлеките его куда-нибудь, затем откройте терминал, перейдите в папку, в которую вы его извлекли, и введите эти команды
./configure
make
make install
ТАКЖЕ
вы можете установить репозитории rpmforge из DAG отсюда:
http://dag.wieers.com/rpm/packages/rpmforge-release/
(проверьте свою версию, если вы используете i386, вам, вероятно, придется приобрести "Red Hat EL 5 - i386")
тогда сделай
yum install libssh2
Тебе нужно libssh2-devel не только libssh2. Вот немного более короткая версия
yum install libssh2-devel
pecl install ssh2-0.12
Вот что я сделал.
wget https://libssh2.org/download/libssh2-1.7.0.tar.gz
tar zxvf libssh2-1.7.0.tar.gz
cd libssh2-1.7.0
./configure
make
sudo make install
sudo yum install libssh2 libssh2-devel
sudo pecl install ssh2-0.13
Усилия по установке libssh2-devel
с помощью yum
не удалось с ошибкой No package libssh2-devel available.
(Реми репо)
Я скачал это из Веб-сайт PECL и установлен через
# pecl install -f packagename.tgz
Все остальные пакеты и зависимости были загружены с rpmfind.net и установил вот так
# rpm -ivh packagename.rpm
Установите его, используя yum
:
$ sudo yum install libssh2-devel-1.8.0-3.el7.x86_64.rpm
В следствии:
Installed: libssh2-devel.x86_64 0:1.8.0-3.el7
Dependency Installed: keyutils-libs-devel.x86_64 0:1.5.8-3.el7
krb5-devel.x86_64 0:1.15.1-37.el7_7.2
libcom_err-devel.x86_64 0:1.42.9-16.el7
libkadm5.x86_64 0:1.15.1-37.el7_7.2
libselinux-devel.x86_64 0:2.5-14.1.el7
libsepol-devel.x86_64 0:2.5-10.el7
libverto-devel.x86_64 0:0.2.5-4.el7
openssl-devel.x86_64 1:1.0.2k-19.0.1.el7
pcre-devel.x86_64 0:8.32-17.el7
zlib-devel.x86_64 0:1.2.7-18.el7
И теперь попытка установить ssh2 могла привести к ошибке:
# pecl install ssh2
downloading ssh2-0.13.tgz ...
Starting to download ssh2-0.13.tgz (28,984 bytes)
.........done: 28,984 bytes
6 source files, building
running: phpize
Can't find PHP headers in /usr/include/php
The php-devel package is required for use of this command.
ERROR: `phpize' failed
Если это произошло, попробуйте установить пакет php-devel из remi репозиторий.
Установка репозитория remi (для системы типа RHEL7):
$ sudo rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
Включение репозитория remi путем редактирования файла remi.repo:
$ sudo vi /etc/yum.repos.d/remi.repo
изменение enabled=0
к enabled=1
в разделе [remi], если вы используете php 5.4
Чтобы узнать, какую версию php вы используете, вы можете использовать команду:
$ sudo yum info php
Установка пакета php-devel:
$ sudo yum install php-devel
Установка ssh2:
$ sudo pecl install ssh2
Дополнительно:
Примечание: Используйте его только для тестирования, а не для производства. Поскольку использование пакетов не из официальных источников может вызвать проблемы в будущем.
Скачать libssh2-devel
версия пакета, которая вам нужна из rpmfind.net, копируя адрес ссылки нужного файла и вставляя его после wget
:
wget https://rpmfind.net/linux/centos/7.7.1908/os/x86_64/Packages/libssh2-devel-1.8.0-3.el7.x86_64.rpm
(будьте осторожны перед использованием пакетов с неофициальных ресурсов)