安装具有自制软件和PHP 7.3的ssh2扩展

时间:2019-03-20 14:36:04

标签: homebrew pecl libssh2 php-7.3 ssh2

尝试使用pecl安装ssh2扩展名时遇到以下错误:

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
Install PECL SSH2 extension for PHP

3 个答案:

答案 0 :(得分:1)

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

我终于在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中启用扩展名。您可以使用TextEdit:

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

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

测试结果:

php -i | grep libssh2

您应该看到

libssh2 version => 1.9.0

答案 1 :(得分: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

这就是我的工作方式

答案 2 :(得分:0)

您可以使用this answer about 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