PHP在Windows机器上安装SSH2

LaY*_*Yle 18 php windows apache dll libssh2

我想在机器上安装Windows+Apache.文档说SSH2需要OpenSSLlibssh2库.我在我的php.ini文件中添加了这些行:

extension=php_openssl.dll
extension=php_ssh2.dll
Run Code Online (Sandbox Code Playgroud)

并重新启动Apache,但它仍然无法正常工作(Fatal error: Call to undefined function ssh2_connect()).

谁能解释我如何安装这项服务?

谢谢

ps:我是意大利人,对不起我的英语......

小智 29

我是这样做的:

  1. 从此位置下载Win32 SSH2 PECL扩展 (选择合适的版本);

  2. 提取档案的内容并:

    • 放置php_ssh2.dllphp_ssh2.pdb文件中ext的文件夹(例如,C:\php\ext);
    • libssh2.dll文件复制到C:\Windows\system32和(如果你有Win64)C:\Windows\SysWOW64文件夹;
  3. 运行以下命令以注册DLL:

    C:\> regsvr32 libssh2.dll
    
    Run Code Online (Sandbox Code Playgroud)
  4. 重启Apache.

最后的说明

如果你有PHP x64,你必须查找SSH2库/ DLL的x64版本. 这个站点为PHP提供了一些Win64编译库,请先在这里试试.

希望这可以帮助.


小智 10

如果有人在安装SSH2时遇到问题,我就是这样做的:

1)从PHP.net下载SSH2 PECL库[选择合适的版本].

2)复制libssh2.dllSystem32 [x86]或SysWOW64 [x64]文件夹.

3)复制php_ssh2.dllphp_ssh2.pdbPHP/EXT文件夹.

4)删除';' 从;extension=php_ssh2.dllphp.ini中的行.如果你的php.ini上没有这一行,请添加它.

5)重启Apache.


小智 7

  1. 放置php_ssh2.dll在ext文件夹
  2. 发生libssh2.dll在PHP文件夹
  3. 重新开始 IIS

这对我有用

  • PHP 5.4.25 NTS + Windows Server 2012


Cri*_* B. 5

如果您运行的是 xamp 3.2.1 和 PHP 5.6.8,这可能对您有所帮助。

执行 alex b 所说的操作,然后从此页面(链接)下载与您的 php 版本(和位)相对应的软件包

我已经在 C:\xampp\php\ext 中下载并替换了它并且它起作用了!

希望这有帮助,问候。


Álv*_*lez 0

首先,你的问题揭示了两个误解:

\n\n
    \n
  1. 要求部分实际上是这样说的:

    \n\n
    \n

    需要 \xc2\xbb OpenSSL 和 \xc2\xbb libssh2 库。确保安装了开发库,其中典型的包名称可能是 openssl-dev。

    \n
    \n\n

    它不是在谈论 PHP 扩展,而是在谈论与 PHP 无关的第三方库。

  2. \n
  3. extension=php_ssh2.dll要求您php_ssh2.dll的 PHPext目录中确实有一个被调用的文件,但您可能没有它,主要是因为它没有与 PHP 捆绑在一起。

  4. \n
\n\n

如果我们检查安装章节,我们可以了解到 SSH2 是 PECL 扩展。有一些带有说明的链接,但我可以对重要信息进行总结:

\n\n
    \n
  • 您需要一个php_ssh2.dll与您的 PHP 安装相匹配的文件。
  • \n
  • PHP 团队和 PECL 团队都没有分发此类文件。
  • \n
  • 在 Windows 上安装 PECL 扩展很困难。您需要下载 C 源代码,使用 C 编译器并自己制作文件,或者找到已经为您完成此操作的人。
  • \n
\n\n

也就是说,除非你通过谷歌搜索php_ssh2.dll并找到相关的东西,否则你可能会运气不好。

\n

  • 无论如何,php_ssh2 的 Windows 版本可从 http://windows.php.net/downloads/pecl/releases/ssh2/ 获取。 (3认同)