首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >phptelnet与phpseclib

phptelnet与phpseclib
EN

Stack Overflow用户
提问于 2010-08-25 23:20:48
回答 1查看 820关注 0票数 0

我正在尝试从php连接unix服务器并执行.exe (C语言)。之前我使用phptelnet来实现此目的,但由于安全问题,现在我需要使用phpseclib。当我使用phptelnet时,我有100%的成功率。我可以运行一些外部程序,比如在php脚本中使用参数作为输入的'C‘程序。在phptelnet中,我使用

代码语言:javascript
复制
$telnet->DoCommand('cd public_html');
$telnet->DoCommand('cd abc');
$telnet->DoCommand('demo.exe');
$telnet->DoCommand("$inputs", $result);
echo $result;

这个很好用。但现在我使用phpseclib。我可以通过ssh连接到unix服务器,并执行将输入硬编码到程序中的程序。我正在使用

代码语言:javascript
复制
echo $ssh->exec('./demo.exe');

现在的问题是如何为程序提供输入。如何使用exec()接受参数作为输入。例如,demo.exe是一个将两个数字相加的程序。所以我可以说

代码语言:javascript
复制
 echo $ssh->exec("./demo.exe, '10 20'");

另外,如何使用exec()在一次执行中执行多个代码。我有点困惑。我们非常感谢您在这方面的任何投入。

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2010-08-25 23:31:45

其中,您可以使用多个命令选项:

代码语言:javascript
复制
 $ssh->exec("./demo.exe '10' '20'");

省略逗号,并将每个参数括起来。或者使用$opts = implode(" ", array_map("escapeshellarg", $opts))转换列表。

如果您使用的是SSH1连接,则一次只能执行一个命令。如果您正在连接一个Windows服务器(看起来像这样),那么您不能在一行上有两个命令。

仅适用于您可以使用的BSD/Linux服务器:

代码语言:javascript
复制
 $ssh->exec("cmd1 ; cmd2");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3567485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档