phpseclib SSH2:为什么我的命令不运行?

时间:2014-07-30 06:09:03

标签: php ubuntu ssh minecraft phpseclib

我正在尝试创建一个用于管理我的Ubuntu托管的Minecraft服务器的Web界面。我使用屏幕以使控制台可重新访问。我不明白为什么以下代码不起作用:



    $ssh->read('quadrplax@quadrplax-laptop:~$');
    $ssh->write("screen -rd\n");
    $ssh->write("stop\n");

现在,不要问我为什么,但如果我添加这个无用的代码:



    $randid=rand(0, 1000000);
    $consolemsg=strval($randid);

    $ssh->read('quadrplax@quadrplax-laptop:~$');
    $ssh->write("screen -rd\n"); // note the "\n"
    $ssh->write("say Stopping server - ID:".$consolemsg."\n");
    echo $ssh->read(" [INFO] [Minecraft-Server] [Server] Stopping server - ID:".$consolemsg);
    $ssh->write("stop\n");

然后它将能够断开屏幕会话,但页面将在超时之前加载几分钟。对不起这是多么愚蠢,我找不到任何好的phpseclib指南,它们都是同一指南的副本,不提供任何长篇例子。我已经能够得到一些工作,例如我的暂停代码以某种方式工作:



    $ssh->read('quadrplax@quadrplax-laptop:~$');
    $ssh->write("sudo pm-suspend\n");
    $ssh->setTimeout(5);
    $output = $ssh->read('#[pP]assword[^:]*:|quadrplax@quadrplax-computer:~\$#', NET_SSH2_READ_REGEX);
    $ssh->write("FAKEPASSWORD\n");

很抱歉格式错误或其他任何内容,第一次来这里。我很难提交这篇文章。有人可以帮我解决这个问题吗?

编辑:修复了复制粘贴错误

0 个答案:

没有答案