Appearance
概述
Swoole 服务默认采用常驻内存机制,修改 PHP 代码后需重启 Swoole 进程才能生效。在本地或测试环境开发阶段,可开启 Swoole 热更新(Hot Reload)功能,在保存 PHP 文件时由文件监听器自动重载 Worker 进程。
开启热更新配置步骤
开启调试模式(.env)
打开项目根目录下的 .env 文件,确认启用 Debug 模式:
ini
APP_DEBUG = true检查 Swoole 热更新参数(config/swoole.php)
打开 config/swoole.php,确认热更新配置:
php
'hot_reload' => [
'enable' => env('APP_DEBUG', false),
'name' => ['*.php'],
'include' => [
root_path('app'),
root_path('crmeb'),
root_path('route'),
],
'exclude' => [
root_path('runtime'),
root_path('public'),
],
],本地启动 Swoole 进行开发
在终端中执行前台启动命令:
bash
php think swoole当检测到 app/、crmeb/ 或 route/ 目录下的 PHP 文件保存变动时,控制台将输出重载日志并自动应用新代码。
⚠️ 生产环境重要警示
- 严禁在生产环境开启热更新:文件监控轮询会消耗大量 CPU 与 I/O 资源,降低系统吞吐量。
- 生产环境必须保持
.env中的APP_DEBUG = false,并通过 Supervisor 进程守护 统一管理 Swoole 进程生命周期。