0

尝试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
为 PHP 安装 PECL SSH2 扩展

4

3 回答 3

5

我的原始答案:PHP7 MacOS 的 SSH2?

我终于在 MacOS Mohave 上找到了解决方案。我有 Homebrew 安装的 PHP 7.3:

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。您可以使用文本编辑:

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

添加extension="ssh2.so"到文件的开头并保存。

测试结果:

php -i | grep libssh2

你应该看到

libssh2 version => 1.9.0
于 2019-07-30T22:13:54.027 回答
0

尝试安装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

这就是它对我有用的方式

于 2019-03-21T08:59:41.110 回答
-1

你可以使用这个关于 docker 的答案

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
于 2019-07-04T14:24:41.823 回答