2010-12-14 90 views
0

我在通过PHP进行ssh会话时遇到问题。我看起来很高,并且无法弄清楚如何做到这一点。我在你的一篇文章中看到你声明你可以建立这种联系,我非常感谢你的帮助。我已经包含一个名为'class.shell2.php'的文件,它具有我需要连接到ssh服务器并向终端发送命令的基本功能。然而,当我尝试连接到服务器时,它给我一个错误“致命错误:在/ * / **/* */class.shell2.php调用未定义功能ssh2_connect()上线62”请帮帮我。通过PHP进行SSH会话

谢谢

回答

3

的SSH2功能(including ssh2_connect())不是基本的PHP发行版的一部分。他们可以通过PECL获得。

Check the "Installing/Configuring" page for SSH2 on the PHP documentation site有关如何安装此模块的信息。

+0

我看过那个文档,不知道它是如何工作的。我在Mac和我认为是达尔文或Linux的指示?我相信我已经安装了所有东西,但它仍然不适合我。有没有关于如何使这项工作在Mac上的指导? – user541597 2010-12-14 20:16:28

+0

Mac OS-X *是*“Darwin”。他们是一样的。如果你有达尔文的指示,那么遵循这些指示。如果它仍然不起作用,那么你需要编辑你的答案,并告诉我们你所尝试的是什么;以及你得到的结果(和错误)。或者,您可以考虑使用['proc_open()'](http://www.php.net/manual/en/function.proc-open.php)或['shell_exec()'](http:// php .net/manual/en/function.shell-exec.php)将ssh作为命令行应用程序调用。如果您的需求相当简单,这可以很好地工作,但您需要设置ssh客户端证书进行身份验证。 – Lee 2010-12-14 20:36:12

+0

我道歉它不是达尔文的debian,我相信我不确定。但是我发现了另一个名为phpseclib的软件包,它有一个net_ssh2类,用于从php创建ssh连接,但是我无法连接,我每次都得到一个失败的登录消息。我有设置和示例状态,但无法登录。手册在线。我所需要做的就是与另一台计算机建立ssh连接,并从终端执行串行命令。我可以用proc-open()或shell_exec()来做到这一点。我尝试了shell_exec,但是我将如何为shh会话输入用户名和密码。 – user541597 2010-12-15 00:23:09