我正在尝试将其安装在Windows+Apache
机器上。文档说 SSH2 需要OpenSSL
和libssh2
库。我在我的php.ini
文件中添加了这一行:
extension=php_openssl.dll
extension=php_ssh2.dll
并重新启动了 Apache,但它仍然无法正常工作(Fatal error: Call to undefined function ssh2_connect()
)。
谁能解释我如何安装此服务?
我是这样做的:
从这个位置下载 Win32 SSH2 PECL 扩展 (选择合适的版本);
提取档案的内容并:
php_ssh2.dll
和php_ssh2.pdb
文件ext
夹中的文件(例如C:\php\ext
);libssh2.dll
到C:\Windows\system32
和(如果你有 Win64)C:\Windows\SysWOW64
文件夹;运行以下命令来注册 DLL:
C:\> regsvr32 libssh2.dll
重新启动阿帕奇。
最后说明
如果您有 PHP x64,则必须查找 x64 版本的 SSH2 库/DLL。 该站点提供了一些用于 PHP 的 Win64 编译库,请先在此处尝试。
希望这可以帮助。
如果有人在安装 SSH2 时遇到问题,我是这样做的:
1) 从PHP.net [选择合适的版本]下载 SSH2 PECL 库。
2) 复制libssh2.dll
到System32 [x86] 或SysWOW64 [x64] 文件夹。
3) 复制php_ssh2.dll
和php_ssh2.pdb
到php/ext文件夹。
4)删除';' 从;extension=php_ssh2.dll
php.ini 中的行。如果此行不在您的 php.ini 中,请添加它。
5)重启阿帕奇。
php_ssh2.dll
ext 文件夹libssh2.dll
php文件夹IIS
那对我有用
PHP 5.4.25 NTS + Windows Server 2012
如果您正在运行 xamp 3.2.1 和 PHP 5.6.8,这可能对您有所帮助。
做亚历克斯 b 说的,并从这个页面下载与你的 php 版本(和位)相对应的包(链接)
我已经下载并替换了 C:\xampp\php\ext 并且它有效!
希望这会有所帮助,问候。
libssh2(deps): http: //windows.php.net/downloads/php-sdk/deps/
php_ssh2 (ext): http://windows.php.net/downloads/pecl/releases/ssh2/0.12/
5.5 之前的版本已经有 libssh2.dll(来自第二个链接)
我已经安装了 PHP 5.6.25/7.0.10 – MySQL 5.7.14,我目前正在使用 PHP 7.0。我有同样的错误。如果库 OpenSSL 和 libssh2 都在工作,我使用 phpinfo() 检查(你可以谷歌如何检查)。在我看到它们正在工作之后,我在http://pecl.php.net/package/ssh2/1.0/windows下载了 php_ssh2.dll (也可以在http://windows.php.net/downloads/pecl找到/releases/ssh2/ ) 对于 7.0 版本,将其放入 php\ext 文件夹。比我使用 extension=php_ssh2.dll 将它包含在 php.ini 文件中。
然后它出现在 phpinfo() 中。它奏效了。希望能帮助到你。
修复对我有用的问题。我正在运行 xampp v. 3.2.1 apache 2.2 面临同样的问题,尝试将 dll 文件放在不同的 c: 位置,但最终失败了,这有帮助。
1.) 从http://pecl.php.net/package/ssh2/0.12/windows下载版本特定的 dll 文件并提取文件
请注意,即使您使用的是 64 位版本的 windows,也请根据您的 php 版本下载 32 版本的 THREAD SAFE ssh 即线程安全 (TS) x86
2.) 在 C:\xampp\php 添加/替换 libssh2.dll(标准安装)
3.) 在 C:\xampp\php\ext 中添加/替换 php_ssh2.dll 和 php_ssh2.pdb(标准安装)
4.) 重启apache服务器
像魅力一样工作
干杯
首先,您的问题揭示了两个误解:
需求部分实际上是这样说的:
» OpenSSL 和 » libssh2 库是必需的。确保已安装开发库,其中典型的包名称可能是 openssl-dev。
它不是在谈论 PHP 扩展,而是在谈论与 PHP 无关的第三方库。
extension=php_ssh2.dll
要求您实际上php_ssh2.dll
在 PHP 的ext
目录中调用了一个文件,而您可能没有它,主要是因为它没有与 PHP 捆绑在一起。
如果我们查看安装章节,我们可以看到 SSH2 是一个 PECL 扩展。有一些带有说明的链接,但我可以总结一下重要信息:
php_ssh2.dll
与您的 PHP 安装相匹配的文件。说,除非你谷歌搜索php_ssh2.dll
并找到相关的东西,否则你可能不走运。