lotharthesavior / hot-reactor
热重载工具。
0.0.4
2024-05-04 15:20 UTC
Requires
- ext-inotify: *
- ext-openswoole: ^22.1
- openswoole/ide-helper: ^22.1
- symfony/console: ^7.0
- symfony/event-dispatcher: ^7.0
- vlucas/phpdotenv: ^5.6
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.54
- phpro/grumphp: ^2.5
- squizlabs/php_codesniffer: ^3.9
This package is auto-updated.
Last update: 2024-09-04 16:04:38 UTC
README
Hot Reactor 是应用的热重载机制。它是基于 OpenSwoole 开发构建的,但根据文件更改来重载特定命令。
您可以通过 composer install 安装它,或者下载项目并配置正确的 .env
文件。
设置
运行 Hot Reactor 有两种方式
选项 1: 运行其他文件夹
运行位于其他目录中的服务
检查 .env
文件以更新所需的设置。以下为操作步骤
- 步骤 1: 更新
WORKING_DIR
环境设置,指向服务所在的目录。默认:/var/www/html/
- 步骤 2: 更新
COMMAND
环境设置,指向您要运行的命令。默认:/usr/bin/php server.php
- 步骤 3: 更新
OBJECTS
环境设置,指向您想要监视更改的文件。默认:/var/www/html/|/var/www/html/features/
- 步骤 4: 更新
MAIN_PROCESS_NAME
环境设置,自定义您的主进程名称。默认:hot-reactor
- 步骤 5: 更新
FILE_EXTENSIONS
环境设置,指定要监视更改的文件扩展名。默认:php|env
Hot Reactor 提供了一个命令行工具来运行 Hot Reactor。您可以使用以下命令启动 Hot Reactor
php index.php -w "/path/to/your/service" -c "your-command" -o "your-objects"
如示例所示,您也可以通过命令选项覆盖
WORKING_DIR
、COMMAND
和OBJECTS
设置。
选项 2: 通过 composer 安装热重载
要使用 composer 安装 Hot Reactor,您可以运行以下命令
composer require lotharthesavior/hot-reactor
安装包后,您可以运行以下命令启动 Hot Reactor
vendor/bin/hot-reactor -w "/path/to/your/service" -c "your-command" -o "your-objects"
重要:当您想重启使用 OpenSwoole\Process 运行子进程的应用程序时,存在一个相关错误。在这种情况下,您可能需要在文件末尾等待 SIGKILL,以便应用程序优雅地重启。您可以通过添加以下代码来实现这一点
Co::run(function () { System::waitSignal(SIGKILL, -1); });
贡献者
我们欢迎所有人的贡献!如果您有兴趣帮助改进 Hot Reactor,请按照以下步骤操作
- 在 GitHub 上派生存储库。
- 在以您正在工作的功能或修复命名的分支中进行更改。
- 通过 GitHub 提交拉取请求以进行审查。
请确保您的贡献符合以下指南
- 代码贡献应遵循项目中已建立的编码风格。
- 在代码中包含注释,解释复杂或不太明显部分。
- 如果您的更改需要,请更新 README.md。
- 确保您的代码不会引入任何新的错误或安全漏洞。
感谢您考虑为 Hot Reactor 做出贡献!
许可协议
Hot Reactor 是开源软件,MIT 许可协议下授权。有关详细信息,请参阅 LICENSE 文件。