hyperf 热重载方案(代码修改自动重启服务)
2019-08-24 本文已影响0人
谷勇庆
由于 hyperf 在框架初启动时,Worker 进程启动之前,就已经扫描了整个项目代码,以获取注解等项目配置信息,故而无法使用 swoole 的 USR1 信号 重启所有 worker 来载入新的代码。虽然说 hyperf 官方文档 中有提供了几种热重载方案,不过这些方案都是需要额外安装软件,hyperf-watch 这个简单脚本又会把终端输出全部定向至 watch.log 文件中,使用起来不够方便。
这里提供一个新的简单的热重载方案,把 hyperf-hot-restart-in-dev.php 这个 gist 文件下载到项目中的 bin 目录下,更名为 dev.php,然后启动项目时,使用这个文件进行启动即可。例如:
➜ mangatoon-rabc git:(master) ✗ php7 bin/dev.php start
贴一张项目示例截图
image.png