Workerman启动停止等命令
启动
以debug(调试)方式启动
php start.php start以daemon(守护进程)方式启动
php start.php start -d停止
php start.php stop重启
php start.php restart平滑重启
php start.php reload查看状态
php start.php status查看连接状态(需要Workerman版本>=3.5.0)
php start.php connectionsdebug和daemon方式区别
1、以debug方式启动,代码中echo、var_dump、print等打印函数会直接输出在终端。
2、以daemon方式启动,代码中echo、var_dump、print等打印会默认重定向到/dev/null文件,可以通过设置Worker::$stdoutFile = '/your/path/file';来设置这个文件路径。
3、以debug方式启动,终端关闭后workerman会随之关闭并退出。
4、以daemon方式启动,终端关闭后workerman继续后台正常运行。
什么是平滑重启?
平滑重启不同于普通的重启,平滑重启可以做到在不影响用户的情况下重启服务,以便重新载入PHP程序,完成业务代码更新。
平滑重启一般应用于业务更新或者版本发布过程中,能够避免因为代码发布重启服务导致的暂时性服务不可用的影响。
注意:只有子进程运行过程中载入的文件支持reload,主进程载入的文件不支持reload。或者说Worker::runAll执行完后workerman运行过程中动态加载的文件支持reload,Worker::runAll执行前就载入的文件代码不支持reload
平滑重启原理
WorkerMan分为主进程和子进程,主进程负责监控子进程,子进程负责接收客户端的连接和连接上发来的请求数据,做相应的处理并返回数据给客户端。当业务代码更新时,其实我们只要更新子进程,便可以达到更新代码的目的。
当WorkerMan主进程收到平滑重启信号时,主进程会向其中一个子进程发送安全退出(让对应进程处理完毕当前请求后才退出)信号,当这个进程退出后,主进程会重新创建一个新的子进程(这个子进程载入了新的PHP代码),然后主进程再次向另外一个旧的进程发送停止命令,这样一个进程一个进程的重启,直到所有旧的进程全部被置换为止。
我们看到平滑重启实际上是让旧的业务进程逐个退出然后并逐个创建新的进程做到的。为了在平滑重启时不影响客用户,这就要求进程中不要保存用户相关的状态信息,即业务进程最好是无状态的,避免由于进程退出导致信息丢失。
cd ZLMediaKit/release/linux/Debug
#通过-h可以了解启动参数
./MediaServer -h
#以守护进程模式启动
./MediaServer -d &
关闭
killall -2 MediaServer
认证验证伪静态
rewrite ^(.*)/app/v3/verify/backflow$ $1/app/v3/verify/backflow/index.php?$2 last;
清除仓库大文件
mysql日志恢复
轮询后台定时任务
宝塔》定时任务》脚本》直接复制粘贴》运行即可,
Alexis Fawx
微信退款:订单金额或退款金额与之前请求不一致,请核实后再试
精度问题,php 浮点型运算丢失精度,float转换为int类型后导致最后一位数值对不上,
所以需要intval(strval()) 转换金额数值
$refund_fee3 = 225798是真的神奇
用这个就可以了
🤔🤔🤔