PHP在Windows机器上安装SSH2
我正试图在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扩展(select适当的版本);
-
提取存档的内容和:
- 将
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文件夹中 - 在php文件夹中放置
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中replace,它的工作!
希望这有助于问候。
首先,你的问题揭示了两个误解:
-
需求部分实际上是这样说的:
»OpenSSL和»libssh2库是必需的。 确保已安装开发库,其中典型的软件包名称可能是openssl-dev。
这不是在谈论PHP扩展,而是在讨论与PHP无关的第三方库。
-
extension=php_ssh2.dll
要求您在PHP的ext
目录中实际上有一个名为php_ssh2.dll
的文件,您可能没有它,主要是因为它没有与PHP捆绑在一起。
如果我们检查安装章节,我们可以看到SSH2是一个PECL扩展。 有几个链接的说明,但我可以做一个重要信息的摘要:
- 您需要一个与您的PHP安装相匹配的
php_ssh2.dll
文件。 - PHP团队和PECL团队都没有分发这样的文件。
- 在Windows上安装PECL扩展是很困难的。 您需要下载C源代码,抓住一个C编译器并自己创build文件,或者find已经为您做过的人。
说,除非你的Google for php_ssh2.dll
find一些相关的东西,否则你可能是运气不好的。
修复这对我工作。 正在运行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(标准安装)中添加/replacelibssh2.dll
3.)添加/replaceC:\ 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()。 它的工作。 希望它有帮助。
- Gacutil.exe成功添加程序集,但程序集不能在资源pipe理器中查看。 为什么?
- 启动失败的二进制文件在Windows中找不到C的Eclipse
- 在Windows上设置Python simpleHTTPserver
- 如何随着浏览器宽度/高度的变化dynamic调整图像的大小?
- Windows Scipy安装:找不到Lapack / Blas资源
- 如何处理名称超过259个字符的文件?
- Ruby 2.0.0p0 IRB警告:“DL已弃用,请使用小提琴”
- 何时使用window.opener / window.parent / window.top
- (Dis)将蓝牙设备连接到Windows.Devices.Bluetooth.Rfcomm(WP8.1)