Установите расширение ssh2 с homebrew и php 7.3

Я столкнулся со следующей ошибкой при попытке установить расширение ssh2 с помощью pecl:

17 warnings and 3 errors generated.
make: *** [ssh2_fopen_wrappers.lo] Error 1
ERROR: `make' failed

Вот что я сделал:

brew install php
brew install libssh2
pecl install ssh2-1.1.2

Это установило php 7.3.3, libssh2 1.8.0 и не смогло установить ssh2-1.1.2.
У кого-нибудь есть решение проблемы? Спасибо!

Ссылки по теме:
https://github.com/docker-library/php/issues/767
Установите расширение PECL SSH2 для PHP


person Vitalii Isaenko    schedule 20.03.2019    source источник


Ответы (3)


Мой исходный ответ: SSH2 для PHP7 MacOS?

Наконец-то я нашел решение на MacOS Mohave. У меня PHP 7.3 установлен Homebrew:

brew install php
brew install libssh2

Установите разрабатываемую версию расширения ssh2 pecl из последних источников:

cd ~/Downloads
git clone https://git.php.net/repository/pecl/networking/ssh2.git
cd ssh2
phpize
./configure
make
make install

Включите расширение в php.ini. Вы можете использовать TextEdit:

open -e /usr/local/etc/php/7.3/php.ini

Добавьте extension="ssh2.so" в начало файла и сохраните.

Проверьте результат:

php -i | grep libssh2

Тебе следует увидеть

libssh2 version => 1.9.0
person Peter Knut    schedule 30.07.2019

Попробуйте установить libssh2-1-dev

brew install libssh2-1-dev

Обновить pecl

pecl channel-update pecl.php.net

А затем установите ssh2-1.1.2

brew install ssh2-1.1.2

Вот как это сработало для меня

person Andrei Lupuleasa    schedule 21.03.2019
comment
Спасибо за ответ! К сожалению, у меня нет apt-get, так как я использую Mac OS. - person Vitalii Isaenko; 21.03.2019
comment
Затем используйте brew и установите libssh2-1-dev - person Andrei Lupuleasa; 21.03.2019
comment
К сожалению, в пиве такой формулы нет. - person Vitalii Isaenko; 21.03.2019
comment
В этом случае я предлагаю взять tar с их веб-сайта и самостоятельно скомпилировать файлы. - person Andrei Lupuleasa; 21.03.2019
comment
superuser.com/questions/1089390/ - person Andrei Lupuleasa; 21.03.2019

Вы можете использовать этот ответ о докере

brew install libssh2-1-dev

cd /tmp && git clone https://git.php.net/repository/pecl/networking/ssh2.git && cd /tmp/ssh2

phpize && ./configure && make && make install


echo "extension=ssh2.so" > /usr/local/etc/php/conf.d/ext-ssh2.ini

rm -rf /tmp/ssh2
person Konorlevich    schedule 04.07.2019