我正在尝试在Windows+Apache
计算机上安装this。
文档说SSH2需要OpenSSL
和libssh2
库。
我在php.ini
文件中添加了这些行:
extension=php_openssl.dll
extension=php_ssh2.dll
并重新启动Apache,但它仍无效(Fatal error: Call to undefined function ssh2_connect()
)。
有人可以解释一下如何安装此服务吗?
由于
ps:我是意大利人,对不起我的英语......
答案 0 :(得分:29)
我是这样做的:
从this location下载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,你必须查找SSH2库/ DLL的x64版本。 This site为PHP提供了一些Win64编译库,请先在这里试试。
希望这有帮助。
答案 1 :(得分:9)
如果有人在安装SSH2时遇到问题,我就是这样做的:
1)从PHP.net下载SSH2 PECL库[选择合适的版本]。
2)将libssh2.dll
复制到 System32 [x86]或 SysWOW64 [x64]文件夹。
3)将php_ssh2.dll
和php_ssh2.pdb
复制到 php / ext 文件夹。
4)删除';'来自php.ini中的;extension=php_ssh2.dll
行。如果你的php.ini上没有这行,请添加它。
5)重新启动 Apache 。
答案 2 :(得分:7)
php_ssh2.dll
放在ext文件夹libssh2.dll
放在php文件夹IIS
对我有用
PHP 5.4.25 NTS + Windows Server 2012
答案 3 :(得分:4)
如果您正在运行xamp 3.2.1和PHP 5.6.8,这可能会对您有所帮助。
执行alex b所说的内容,并从此页面下载与您相关的软件包(以及位)的软件包(link)
我已经下载并替换为C:\ xampp \ php \ ext,它有效!
希望这有帮助,问候。
答案 4 :(得分:3)
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(来自第二个链接)
答案 5 :(得分:2)
我已经使用PHP 5.6.25 / 7.0.10 - 安装了MySQL 5.7.14并且我目前正在使用PHP 7.0。我有同样的错误。我检查使用phpinfo()如果librarires OpenSSL和libssh2都工作(你可以google如何检查它)。在我看到它们正在工作之后,我已经在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()。它奏效了。希望它有所帮助。
答案 6 :(得分:1)
修复这对我有用。我正在运行xampp v.3.2.1 apache 2.2面临同样的问题尝试将dll文件放在不同的c:location但最终失败了这有帮助。
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.)添加/替换php_ssh2.dll&在C:\ xampp \ php \ ext(标准安装)中的php_ssh2.pdb
4.)重新启动apache服务器
像魅力一样工作
CHEERS
答案 7 :(得分:0)
首先,你的问题揭示了两个误解:
Requirements部分实际上是这样说的:
需要»OpenSSL和»libssh2库。确保 安装了开发库,其中包含典型的包名 可能是openssl-dev。
它不是在谈论PHP扩展,而是在谈论与PHP无关的第三方库。
extension=php_ssh2.dll
要求您在PHP的php_ssh2.dll
目录中实际拥有一个名为ext
的文件,而您可能没有它,主要是因为它没有与PHP。
如果我们检查Installation章节,我们可以读到SSH2是PECL扩展。有一些指示链接,但我可以总结重要信息:
php_ssh2.dll
文件。说,除非你谷歌php_ssh2.dll
找到相关内容,否则你可能会运气不好。