【发布时间】:2018-08-25 15:05:20
【问题描述】:
我们使用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();
【问题讨论】:
-
如果您正在寻找通过流程组件进行的子处理,那么您将陷入痛苦的境地。我认为这可能是可能的,但我建议考虑在没有
cf ssh的情况下使用 SSH。 docs.cloudfoundry.org/devguide/deploy-apps/… Vasyl 对 laravelcollective/remote 的建议是正确的,如果您能弄清楚如何通过纯 SSH 进行连接。如果你不能,而不是一堆子进程,把你想要子进程的所有命令(工匠迁移等......)放在一个任务中:docs.cloudfoundry.org/devguide/using-tasks.html -
非常感谢您的回答。我会检查一下,当它与纯 ssh 一起使用时,我可以使用 deployer 来完成我的任务:)
标签: laravel symfony cloud-foundry swisscomdev