最近好朋友在Laravel框架开发项目时,使用Swoole扩展优化项目,让其项目的并发量有质的提升
但又有了一个新的困扰,代码更新完后,需要在命令行重新启动后,才可以看到效果。这样情况会严重开发降低效率。所以我就帮朋友找了一个热重载的脚本。github地址: https://github.com/ha-ni-cc/hyperf-watch
虽然是用于Hyperf框架的,但经测试,是可以用于当前项目的
使用说明:
建议PHP>=7.2 && Swoole>=4.4,php.ini需要开启方法exec
基于Swoole的Process/Timer/Event实现,定时扫描文件并监听文件动态重启服
Tips: 只建议在开发环境中使用,如果对您有帮助,请给项目一个Star,谢谢!
下载方法
在项目根目录下启动终端控制台:
wget -O watch https://gitee.com/hanicc/hyperf-watch/raw/master/watch
也可以直接在当前地址下载,去除文件的.txt后缀名
启动监听:
php watch
退出监听:
Control + C
默认配置(打开watch文件,可自行修改):
# PHP Bin File PHP程序所在路径(默认自动获取)
const PHP_BIN_FILE = 'which php';
# Watch Dir 监听目录(默认监听脚本所在的根目录)
const WATCH_DIR = __DIR__ . '/';
# Watch Ext 监听扩展名(多个可用英文逗号隔开)
const WATCH_EXT = 'php,env';
# Exclude Dir 排除目录(不监听的目录,数组形式)
const EXCLUDE_DIR = ['vendor', 'runtime', 'public'];
# Entry Point File 入口文件
const ENTRY_POINT_FILE = __DIR__ . '/bin/hyperf.php';
# Start Command 启动命令
const START_COMMAND = [ENTRY_POINT_FILE, 'start'];
# PID File Path PID文件路径
const PID_FILE_PATH = __DIR__ . '/runtime/hyperf.pid';
# Scan Interval 扫描间隔(毫秒,默认2000)
const SCAN_INTERVAL = 2000;
# Console Color 控制台颜色
const CONSOLE_COLOR_DEFAULT = "\033[0m";
const CONSOLE_COLOR_RED = "\033[0;31m";
const CONSOLE_COLOR_GREEN = "\033[0;32m";
const CONSOLE_COLOR_YELLOW = "\033[0;33m";
const CONSOLE_COLOR_BLUE = "\033[0;34m";
因为脚本原用于Hyperf框架的,需要针对自己的项目简单的修改下即可