【问题标题】:php_ssh2.dll for PHP 5.3.1 on WinXP Pro sp3php_ssh2.dll 用于 WinXP Pro sp3 上的 PHP 5.3.1
【发布时间】:2010-01-14 19:26:22
【问题描述】:

我在以前的机器上安装了 PHP 5.2.2(也是 WinXP Pro sp3),并从 http://pecl4win.php.net/ext.php/php_ssh2.dll 获得了 SSH2 扩展。

遗憾的是,该服务器目前似乎无法使用(“pecl4win 构建盒暂时停止服务。我们正在准备新的构建系统。”)。旧的 DLL 不适用于新的 PHP,我没有 MS Visual Studio 6 来编译它。

有人知道我在哪里可以获得 PHP 5.3.1 的这个文件吗?或者我应该回滚到 PHP 5.2.2?

我应该提到我正在使用具有 Apache 2.2 的 XAMPP 1.7.3。所以我需要用VC6编译的DLL。

【问题讨论】:

  • “我没有 MS Visual Studio”——visual c++ 2008 表达式版本就足够了。见microsoft.com/express/download
  • VolkerK:Visual C++ 2008 会为 Apache 2.2 生成 VC6 DLL 吗?

标签: php windows


【解决方案1】:

【讨论】:

  • 谢谢 JKS。当然,几个月后,当我需要这个时,我实际上已经离开了我所在的公司。我现在正在为 Linux 目标开发 OSX。但这看起来确实可行。太糟糕了,当我搜索时它不可用。 (我从 2011 年 2 月上传的 URL 猜测。)
【解决方案2】:

http://downloads.php.net/pierre/ 上有两个版本的lib_ssh2

  • php_ssh2-svn20091128-5.3-nts-vc9-x86.zip
  • php_ssh2-svn20091128-5.3-vc9-x86.zip

这些是 VC9 版本,这意味着它们不应该与来自 Apache.org 的二进制文件一起使用(我想它们是用于 IIS 的?请参阅http://windows.php.net/ 的左栏关于 VC6 与 VC9 的信息);你没有说你使用的是哪个网络服务器,所以也许......


(我没有故意提供直接链接:那些可能很快就过时了,我不想在 SO 上回答这个问题)

【讨论】:

  • 谢谢帕斯卡。我正在使用 Apache 2.2。 XAMPP 的一部分(我现在注意到我没有在我的原始帖子中列出。对此感到抱歉。)我按照你的链接到windows.php.net 并下载了两个 DLL,以防万一。这是我在重新启动 Apache 时得到的: >>> PHP 启动:ssh2:无法初始化模块 使用 build ID=API20090626,TS,VC9 编译的模块 使用 buildID=API20090626,TS,VC6 编译的 PHP 这些选项必须匹配
  • 那是因为使用了不同版本的msvcrt(Microsoft Visual C++ Run Time),你可以使用vc9版本的php,尝试从官方页面下载最新的。并且 php 模块与 apache 没有任何关系,除了 php apache SAPI。
【解决方案3】:

经过大量搜索,我找到了我的 Php 5.2.X VC6 的 php_ssh2.dll

试试这个网址 http://www.dll-file-download.com/P/php_ssh2.dll.html

【讨论】:

  • 谢谢,Manoharan,这看起来可能成功了。它甚至在我进行搜索时可用。如果他们在那里提到了 VC6,我什至可能会找到它。搜索引擎优化:非常重要。
  • 注意:这个 dll 似乎是为 PHP 5.2 VC6 的线程安全版本编译的。它不能在非线程安全版本中使用。
【解决方案4】:

这是官方 PECL 版本,包含 5.3、5.4 和 5.5 的构建:

http://windows.php.net/downloads/pecl/releases/ssh2/0.12/

【讨论】:

  • 感谢@BradenAnderson,这对其他找到这个问题的人很有用。
【解决方案5】:

我遇到了类似的问题,但没有时间编译所有这些东西。但是我找到了另一个解决方案,在远程 ssh 服务器上执行 linux-bash 脚本:Putty + Plink + PHP 的 exec()

使用此工具,可以通过命令行使用 putty 打开 ssh 连接,通过 PHP 的 exec, system or passthrough 函数执行。

当然,这不像 PHP 的 ssh-functions 那样优雅,但也许这有助于解决问题。

【讨论】:

  • 感谢您的建议鲁迪。但这将是一个特定于 Windows 的解决方案,而我只是在 Windows 上为 Linux 目标开发。不过,这是一个聪明的 hack。
【解决方案6】:

按照以下步骤操作:

  1. 提取 php_ssh2.dll 文件并粘贴到 /ext 文件夹中
  2. 在 php.ini 中创建以下条目

     extension=php_ssh2.dll;
    
  3. 重启apache
  4. 检查 php.ini 是否有更改

【讨论】:

    猜你喜欢
    • 2010-11-07
    • 1970-01-01
    • 2012-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-21
    • 1970-01-01
    相关资源
    最近更新 更多