- 前言
- 版本管理
- 快速入门
- 核心架构
- 基础功能
- 数据库模型
- 微服务
- 网络服务
- 消息队列
- 客户端
- 其它组件
- 应用部署
- Awesome Hyperf
- 组件开发指南
- 版本升级指南
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
Watcher
自从 2.0
版本使用了 BetterReflection
来收集扫描目录内的 语法树
和 反射数据
,导致扫描速度相较 1.1
慢了不少。
首次启动,因为没有任何缓存,所以会比较慢,当二次启动时,会按照文件修改时间,进行动态收集,但因为仍需要实例化
BetterReflection
,所以启动时间仍然比较长。
Watcher
组件除了解决上述启动问题,还提供了文件修改后立马重启的功能。
安装
composer require hyperf/watcher --dev
配置
发布配置
php bin/hyperf.php vendor:publish hyperf/watcher
配置说明
配置 | 默认值 | 备注 |
---|---|---|
driver | ScanFileDriver | 默认定时扫描文件驱动 |
bin | php | 用于启动服务的脚本 例如 php -d swoole.use_shortname=Off |
watch.dir | app , config | 监听目录 |
watch.file | .env | 监听文件 |
watch.interval | 2000 | 扫描间隔(毫秒) |
支持驱动
驱动 | 备注 |
---|---|
Hyperf\Watcher\Driver\ScanFileDriver | 无需扩展 |
Hyperf\Watcher\Driver\FswatchDriver | 需要安装 fswatch |
Hyperf\Watcher\Driver\FindDriver | 需要安装 find,MAC 下需要安装 gfind |
Hyperf\Watcher\Driver\FindNewerDriver | 需要安装 find |
fswatch
安装
Mac
brew install fswatch
Ubuntu/Debian
apt-get install fswatch
其他
wget https://github.com/emcrisostomo/fswatch/releases/download/1.14.0/fswatch-1.14.0.tar.gz \
&& tar -xf fswatch-1.14.0.tar.gz \
&& cd fswatch-1.14.0/ \
&& ./configure \
&& make \
&& make install
启动
因为目录的关系,需要在项目根目录中运行。
php bin/hyperf.php server:watch
不足
- 暂时 Alpine Docker 环境下,稍微有点问题,后续会完善。
- 删除文件和修改
.env
需要手动重启才能生效。 - vendor 中的文件需要使用 classmap 形式自动加载才能被扫描。(即执行
composer dump-autoload -o
)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论