Php 如何在linux上的git钩子中重新启动进程

Php 如何在linux上的git钩子中重新启动进程,php,bash,git,lumen,Php,Bash,Git,Lumen,我正在用拉威尔的流明写一个网络服务。我想在提交到中央存储库后使用git钩子更新webservice。根据lumen的文档,我必须使用以下命令启动lumen: php -S localhost:8000 -t public 这将创建一个php进程。一种非常笨拙的方法是在上面的命令之前使用killall-php来终止git钩子中的进程,但是肯定有更好的方法。也许是记录pid的一种方法,或者是更具体的流明 您可能希望通过supervisord来管理此问题: () 如果将Web服务配置为mylumen

我正在用拉威尔的流明写一个网络服务。我想在提交到中央存储库后使用git钩子更新webservice。根据lumen的文档,我必须使用以下命令启动lumen:

php -S localhost:8000 -t public

这将创建一个php进程。一种非常笨拙的方法是在上面的命令之前使用
killall-php
来终止git钩子中的进程,但是肯定有更好的方法。也许是记录pid的一种方法,或者是更具体的流明

您可能希望通过supervisord来管理此问题: ()

如果将Web服务配置为mylumenws 你可以:

sudo-supervisortl启动/停止/重新启动mylumenws

Laravel有一个使用supervisord运行其队列的示例:
()

考虑到启动(有时甚至停止)这样的服务需要多长时间,在git钩子中同步执行可能不是最好的解决方案。服务能否提供钩子使用的自己的“restart me”端点?php内置服务器用于开发,此外,我不确定为什么需要重新启动进程,服务器如何影响您的部署?@LawrenceRone如果我对服务器运行的代码进行了更改,则只有重新启动服务器才有意义,不是吗?我认为流明有点像节点。虽然我可能弄错了,这是造成混乱的原因。没有php代码与节点代码不同,它在启动时没有加载到内存/进程中。如果php是根据请求加载的,那么重新启动服务器除了在您使用它时清除opcache之外什么都不做,但是如果代码发生了更改,则没有任何区别。如果您正在进行php扩展,这将是重新启动进程的一个有效原因。