Open onanying opened 5 years ago
sub process exit too fast, sleep 2 seconds:
Swoole 从 4.4.0 开始接受我的提议支持 hook proc_open
方法,但后面到 4.4.3 / 4.4.4 修改 wait 时出了问题,导致bug,4.4.5 已经修复该问题,凡是出现不停 sub process exit too fast, sleep 2 seconds
请升级 Swoole 到 >= 4.4.5,然后下载 swoolofor 的最新版本:https://github.com/mix-php/swoolefor/releases/latest
可以正常启动,但是不会触发重启:
如果用 vim 修改 docker容器内部或者虚拟机内部 本地文件能捕获到文件更新并重启命令,而在宿主机用 IDE 修改不能重启:inotify 监控不了映射的共享文件夹,需要使用 git hook / ftp 等工具在容器内部本地修改代码
SwooleFor v1.1.3 已经支持文件扫描的方式捕获代码更新:
下载 swoolofor 的最新版本:https://github.com/mix-php/swoolefor/releases/latest
php swoolefor.phar --exec="php app.php arg..." --no-inotify
php 在 debian 系列,执行外部命令的时候和 redhat 系列不一样,debian 会多一步,会先 sh -c cmd,生成另一个子进程,而 proc_get_status 获取到的是 sh -c cmd 这个中转进程的id,导致进程获取错误。
我已经在 SwooleFor v1.1.4 增加代码修复这个问题,下载 v1.1.4 https://github.com/mix-php/swoolefor/releases/latest
当你要使用 swoolefor 执行一个命令时,如:
php swoolefor.phar --exec "php /data/bin/hyperf.php start"
,先执行一下--exec
内的命令,如:php /data/bin/hyperf.php start
,看有没有错误,是不是前台执行,还有前面的php
必须要有,/data/bin/hyperf.php
必须是绝对路径。