SSH2 for PHP7 MacOS?

时间:2018-04-17 19:58:12

标签: macos ssh pecl php-7.1 ssh2-sftp

尝试使用时

ssh2_sftp($this->con);

PHP 7.1.7认为我在课堂上寻找一个功能。经过一番阅读,我发现需要从PECL安装SSH2 (http://php.net/manual/en/wrappers.ssh2.php

当我这样做时,我收到以下错误:

pecl/ssh2 requires PHP (version >= 4.0.0, version <= 6.0.0), installed version is 7.1.7
No valid packages found
install failed

任何人对如何使用PHP 7.1.7在MacO 10.13.3(17D47)上运行它有任何想法? 提前谢谢!

4 个答案:

答案 0 :(得分:5)

我终于在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 :(得分:4)

我设法在MacOS High Sierra上安装了php-ssh2。

首先,我必须安装libssh2,以便PECL编译扩展名。

我使用brew,但是很可能libssh2也可以从mac端口获得。

brew install libssh2

然后

pecl install ssh2-1.1.2

我已经安装了Xcode命令行工具-我认为编译扩展程序是必需的。

答案 2 :(得分:2)

试试这个:

pecl install ssh2-1.1.2

您可以看到ssh2 HERE

的可用版本

对于使用alpine linux的用户,请务必先添加libssh2-dev:

apk --update add libssh2-dev

答案 3 :(得分:0)

在macOS Big Sur上:

brew install libssh2
pecl install ssh2-1.2