hyperf-watch
Author: hanicc@qq.com
Tips: 建议只在开发环境中使用,线上生产环境请用Docker(可以优雅热重启)。
使用说明:
PHP版本(全平台通用,PHP>=7.2 && Swoole>=4.4)
基于Swoole的Process/Timer/Event实现,定时扫描文件并监听文件变动重启服务,
不依赖其它扩展,性能表现一般,全平台可用,体验较好(可在控制台直接输出运行日志)。
下载watch,把文件放在项目根目录上。
启动监听:
php watch
启动监听并删除runtime文件夹(缓存):
php watch -c
Shell版本(不再维护,仅推荐MacOS用户使用,需要安装fswatch扩展)
基于fswatch扩展监听文件变化,性能上较好,体验一般(运行日志无法挂载在控制台上输出)。
如果没有安装fswatch,需要先安装fswatch:
brew install fswatch
自行编译fswatch
由于能力有限,Linux基于fswatch监听有问题未完美处理,所以暂不推荐,可以使用watch.php。
下载watch.sh,把文件放在项目根目录上并赋予脚本权限:
chmod +x ./watch.sh
执行监听程序不清除监听日志:
./watch.sh
执行监听程序并清除监听日志:
./watch.sh -c
更多指令请参照帮助指南:
./watch.sh -h
退出监听:
Control + C
其它说明:
shell版本监听日志/控制台日志在./runtime/watch.log
shell版本退出监听程序会在控制台打印监听日志,方便debug
shell版本脚本默认监听整个项目文件夹,且只监听文件后缀为.php或.env,如需自定义监听请参照帮助指南