2016-12-11 22 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, а затем запускает сервер Minecraft, но не на экране. Есть ли альтернатива, которая, как известно, хорошо работает с phpseclib или есть что-то, что я делаю неправильно здесь?

+0

ИДК ничего о экране но я скажу, что write() и exec() работают в разных каналах. Так что это похоже на то, что вы делаете ... у вас есть два окна PuTTY, и в одном из них вы вводите 'screen -R minecraft', а в другом вы вводите' cd/home/ftpmc/mc /; java -Xmx4096M -Xms4096M -jar craftbukkit.jar nogui'. idk, если это понимание помогает .. – neubert

ответ

1

Нойберт находится на правильном пути, дать команды, которые необходимо выполнить (в данном примере это «ВИМ») в качестве дополнительных аргументов для команды «экрана», как это:

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

Спасибо, iil попробуйте его через пару часов. Iil вернусь на почту и скажу, если это сработало :) –