我们为我们的应用使用https://www.cloudfoundry.org/主机。
要连接到服务器,我们必须使用cf ssh APP-NAME
而不是普通的ssh
命令。
现在我想写一个像https://deployer.org/这样的简单任务运行器来在服务器上运行一些工匠命令。
为此我累了Symfony\Component\Process\Process
,它可以连接到服务器,但是我无法保持连接打开以运行其他命令。
有谁知道如何保持连接打开并运行一些命令?
这是我目前的代码:
use Symfony\Component\Process\Process;
$process = new Process("cf ssh APP-NAME");
$process->setPTY(true);
// Add some other commands like "php artisan migrate"
$process->run();
echo $process->getOutput();
答案 0 :(得分:0)
在远程服务器上执行命令是启动子进程的完全不同的功能。所以它不属于Process组件,而属于另一个库。 尝试使用此phpseclib/phpseclib,您可以找到好的手册phpseclib/phpseclib manual。
另外,请看一下这个laravel包laravelcollective/remote