【问题标题】:ssh2: Unable to initialize modulessh2:无法初始化模块
【发布时间】:2013-09-03 23:04:37
【问题描述】:

我在我的服务器上安装了 ssh2 但是当我检查结果是:

PHP 警告:PHP 启动:ssh2:无法初始化模块
使用模块 API=20100525 编译的模块
使用模块 API=20090626 编译的 PHP
这些选项需要在第 0 行的 Unknown 中匹配

我使用centos 6和directadmin

【问题讨论】:

  • 该错误消息意味着您确实安装了错误版本的 SSH2 扩展。您需要再次删除它并安装与您的 PHP 版本匹配的版本。如果您需要进一步的指导,您需要显示您使用的是哪个 PHP 包。请参阅您的包管理器的文档(很可能是yum),了解如何找出您已安装的 PHP 包以及已安装的 SSH2 PHP 扩展包。通过编辑将信息(查找命令和输出)添加到您的问题中。
  • 你能展示你已经完成的步骤吗?如果您尝试此处描述的方式:de1.php.net/manual/en/ssh2.installation.php#109853 .. 有效吗?
  • 你有root ssh 访问权限吗?
  • 大家好,感谢您的回答,我曾经尝试过该链接,但仍然相同。是的,我有root访问权限。我也试试这个:forum.directadmin.com/…forum.directadmin.com/showthread.php?t=44633 等等,结果还是一样。我的 php 版本是 5.3.27,我尝试过 ssh2-12.0 和 ssh2-11.30 。结果是一样的。当我尝试 ssh2-11.0 时,结果是 make *** [error] cannot make ssh2.so 我尝试从 custombuild directadmin 重建 php 并再次安装 shh2,但错误仍然相同。请帮帮我。

标签: ssh centos php libssh2


【解决方案1】:

您可以尝试通过 yum 安装 ssh2,如果需要,启用 remi.repo

$ sudo yum install php-pecl-ssh2

它将安装与您的 PHP 版本相同的 php-pecl-ssh2 包。

但如果你有任何理由,也可以通过 pecl 安装它:

  1. # yum install php-devel

  2. # pecl channel-update pecl.php.net

  3. # pecl install ssh2

针对 Oracle Linux 7 测试。

【讨论】:

  • 当二进制包存在于与 php 相同的存储库中时,无需从源“构建”(pecl 命令)。
【解决方案2】:

libssh2 是出了名的难以安装。就个人而言,我建议您尝试phpseclib, a pure PHP SSH2 implementation

【讨论】:

  • 安装无疑是一场噩梦。
猜你喜欢
  • 2012-11-08
  • 2012-08-22
  • 2016-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-17
  • 2012-11-11
  • 2015-11-12
相关资源
最近更新 更多