我正试图在Windows+Apache
机器上安装它 。 文档说SSH2需要OpenSSL
和libssh2
库。 我在我的php.ini
文件中添加了这行代码:
extension=php_openssl.dll extension=php_ssh2.dll
并重新启动Apache,但它仍然无法正常工作( Fatal error: Call to undefined function ssh2_connect()
)。
任何人都可以解释我如何安装此服务?
谢谢
ps:我是意大利人,对不起我的英文…
以下是我如何做到的:
从此位置下载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
重新启动Apache。
最后的笔记
如果你有PHP的x64,你必须查找x64版本的SSH2库/ DLL。 这个网站提供了一些用于PHP的Win64编译库,请先在这里试试。
希望这可以帮助。
php_ssh2.dll
放在ext文件夹中 libssh2.dll
IIS
为我工作
PHP 5.4.25 NTS + Windows server 2012
如果有人在安装SSH2时遇到问题,请按照以下步骤操作:
1)从PHP.net下载SSH2 PECL库。
2)将libssh2.dll复制到System32文件夹。
3)将php_ssh2.dll和php_ssh2.pdb复制到php / ext文件夹。
4)删除';' 从;extension:php_ssh2.dll
在php.ini中的行。 如果这行不在你的php.ini中,添加它。
5)重新启动Apache。
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(来自第二个链接)
如果您正在运行xamp 3.2.1和PHP 5.6.8,这可能对您有所帮助。
做什么亚历B说,并下载相应的包取决于您的PHP版本(和位)从这个页面( 链接 )
我已经下载并在C:\ xampp \ php \ ext中替换,它的工作!
希望这有助于问候。
首先,你的问题揭示了两个误解:
需求部分实际上是这样说的:
»OpenSSL和»libssh2库是必需的。 确保已安装开发库,其中典型的软件包名称可能是openssl-dev。
这不是在谈论PHP扩展,而是在讨论与PHP无关的第三方库。
extension=php_ssh2.dll
要求您在PHP的ext
目录中实际上有一个名为php_ssh2.dll
的文件,您可能没有它,主要是因为它没有与PHP捆绑在一起。
如果我们检查安装章节,我们可以看到SSH2是一个PECL扩展。 有几个链接的说明,但我可以做一个重要信息的总结:
php_ssh2.dll
文件。 说,除非你的Google for php_ssh2.dll
找到一些相关的东西,否则你可能是运气不好的。
修复这对我工作。 正在运行xampp v。3.2.1 apache 2.2面临相同的问题尝试将dll文件放在不同的c:位置,但最终失败,这有助于。
1.)从http://pecl.php.net/package/ssh2/0.12/windows下载版本特定的dll文件,并提取文件
请注意,即使您在64位版本的Windows下载32版本的线程安全ssh,即线程安全(TS)的x86根据您的PHP版本
2.)在C:\ xampp \ php(标准安装)中添加/替换libssh2.dll
3.)添加/替换C:\ xampp \ php \ ext中的php_ssh2.dll&php_ssh2.pdb(标准安装)
4.)重新启动Apache服务器
工作就像一个魅力
干杯
我已经用PHP 5.6.25 / 7.0.10 – MySQL 5.7.14安装和I cm目前在PHP 7.0工作。 我有同样的错误。 我检查使用phpinfo()如果两个图书馆OpenSSL和libssh2工作(你可以谷歌如何检查它)。 在我看到他们正在工作之后,我已经在http://pecl.php.net/package/ssh2/1.0/windows下载了php_ssh2.dll(也可以查看http://windows.php.net/downloads/pecl / releases / ssh2 / )为7.0版本,把它放到php \ ext文件夹中。 比我使用扩展名= php_ssh2.dll将其包含在php.ini文件中。
然后它出现在phpinfo()。 它的工作。 希望能帮助到你。