Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssh Laravel保持远程连接,直到所有命令完成_Ssh_Laravel 5_Remote Server_Laravelcollective - Fatal编程技术网

Ssh Laravel保持远程连接,直到所有命令完成

Ssh Laravel保持远程连接,直到所有命令完成,ssh,laravel-5,remote-server,laravelcollective,Ssh,Laravel 5,Remote Server,Laravelcollective,工具集: 拉威尔5.2* LaravelCollective远程软件包^5.2 假设我有一个路由,当我点击这个路由时,我处理一些请求参数,然后使用LaravelCollective远程包ssh到远程服务器 一段时间后,我在日志中看到连接已关闭。我知道这一点,因为该消息是在ssh命令之后记录的。因此,我的应用程序告诉我,我的命令已成功执行。 但是当我去检查服务器时,没有node_modules文件夹,但是在点击路由10x之后,它突然出现了 这让我觉得我的连接是关闭的,即使命令没有完成。为了确保

工具集:

  • 拉威尔5.2*
  • LaravelCollective远程软件包^5.2
假设我有一个路由,当我点击这个路由时,我处理一些请求参数,然后使用LaravelCollective远程包ssh到远程服务器

一段时间后,我在日志中看到连接已关闭。我知道这一点,因为该消息是在ssh命令之后记录的。因此,我的应用程序告诉我,我的命令已成功执行。 但是当我去检查服务器时,没有node_modules文件夹,但是在点击路由10x之后,它突然出现了

这让我觉得我的连接是关闭的,即使命令没有完成。为了确保这一点,我使用以下命令开始监视服务器上的进程

ps aux 
这导致我收到了成功消息,但进程仍在我的服务器上运行,这意味着我得到的输出不正确,从而防止后续命令失败(gulp生产)

我对源代码进行了深入研究,发现有一种方法可以保持连接的开放性,但到目前为止运气不佳


问题:我是否可以保持此连接打开,直到命令完全完成,以便我对最终用户的响应正确?

找到解决方案了吗?@zono到目前为止,我没有找到任何解决方案。我确实在github上打开了一个问题。我以前发现过这个问题。我没注意到这是你的。我在remote.php中添加了一个很长的超时设置作为解决方法。非常感谢您的回复。您的命令是如何运行的?你能举个例子吗?我还考虑使用另一种方法来解决问题:您可以让远程脚本将Laravel应用程序点击到webhook,以提交进程终止状态(即CURL或类似)。这将是干净的,因为远程连接挂起的时间不会太长。