2016-12-11 194 views
0

如果我使用phpseclib继续屏幕,它不会按我想要的方式工作。phpseclib和屏幕不工作

如果我使用:

<?php 
include('Net/SSH2.php'); 

$ssh = new Net_SSH2('XXX.XXX.XXX.XXX'); 
if (!$ssh->login('loginname', 'password')) { 
    exit('Login Failed'); 
} 

echo $ssh->write("screen -R minecraft\n"); 
echo $ssh->exec("cd /home/ftpmc/mc/; java -Xmx4096M -Xms4096M -jar craftbukkit.jar nogui"); 
?> 

它然后用1来了,然后开始了我的世界服务器,但不是在屏幕上。有没有一种方法可以与phpseclib一起使用,或者我在这里做错了吗?

+0

IDK的关于屏幕上的任何但我会说write()和exec()在不同的通道中运行。所以它有点像你正在做的是...你有两个PuTTY窗口,其中一个你输入'screen -R minecraft',另一个输入'cd/home/ftpmc/mc /; java -Xmx4096M -Xms4096M -jar craftbukkit.jar nogui'。 idk,如果这种见解有帮助.. – neubert

回答

1

纽伯特是在正确的轨道上,给要执行的命令(在本例中是“VIM”)作为附加参数的“屏幕”命令是这样的:

screen -S minecraft -X stuff 'cd /tmp; vim^M' 
+0

感谢iil在几个小时内尝试它。伊伊回到帖子,并告诉你,如果它工作:) –