2016-12-11 193 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在幾個小時內嘗試它。伊伊回到帖子,並告訴你,如果它工作:) –