我们使用一个https://www.cloudfoundry.org/托管我们的应用程序。要连接到服务器,我们必须使用cf ssh APP-NAME而不是普通的ssh命令。
现在,我想编写一个简单的任务运行器,如下所示https://deployer.org/在服务器上运行一些artisan命令。为此我很累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();发布于 2018-03-16 22:29:17
在远程服务器上执行命令与启动子进程是完全不同的功能。因此,它不属于Process组件,而属于另一个库。试着用这个phpseclib/phpseclib
在这里你可以找到很好的手册phpseclib/phpseclib手册..。
或者这个ssh-客户端/ssh-客户端..。
另外,看看这个laravel包幼虫集合/远程
https://stackoverflow.com/questions/49322571
复制相似问题