Laravel SSH-关闭连接
我有以下资料:Laravel SSH-关闭连接,laravel,Laravel,我有以下资料: $commands = [ 'cd steamcmd', 'cd cs_go', './srcds_run -game csgo -console -usercon -ip '.$server->server_ip.' -maxplayers '.$server->slots.' +hostname '.$server->server_name.' +sv_setsteamaccount '
$commands = [
'cd steamcmd',
'cd cs_go',
'./srcds_run -game csgo -console -usercon -ip '.$server->server_ip.' -maxplayers '.$server->slots.' +hostname '.$server->server_name.' +sv_setsteamaccount '.$server->server_token.' -port 27015 +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2 -tickrate '.$server->tickrate.''
];
\SSH::run($commands, function($line) {
echo $line.PHP_EOL;
});
$server->status = 'Running';
$server->save();
return redirect('/control-panel/game-server');
但是问题是,我的$commands
数组中的最后一个命令运行游戏服务器,我相信应用程序正在等待命令完成运行,但它不会
如何强制关闭会话,以便更新
$server
,然后重定向用户?尝试在命令末尾添加&
,这样可以在不阻塞终端的情况下运行命令,如下所示:
'./srcds_run -game csgo -console -usercon -ip '.$server->server_ip.' -maxplayers '.$server->slots.' +hostname '.$server->server_name.' +sv_setsteamaccount '.$server->server_token.' -port 27015 +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2 -tickrate '.$server->tickrate.' &'
不过,如果可以通过Laravel SSH创建一个tmux会话,这会更好,但我的理解是,这不可能是一个不幸的问题