phpsocket.io php7.3的时候一切正常;
切换成7.4以后,消息收发正常; status、connections命令消息无任何显示; stop命令提示:stop fail。
现象: 运行 php start.php stop 提示 stop fail
原因:几种可能性 第一种可能性: 前提是以debug方式启动的workerman,开发者在终端按了ctrl z给workerman发送了SIGSTOP信号,导致workerman进入后台并挂起(暂停),所以无法响应stop命令(SIGINT信号)。
解决: 在启动workerman的终端输入fg(发送SIGCONT信号)然后回车,将workerman切回前台运行,按ctrl c(发送SIGINT信号)停止workerman。
如果无法停止,尝试运行以下两条命令
killall -9 php ps aux|grep -i workerman|awk '{print $2}'|xargs kill -9
第二种可能性: 运行stop的用户和workerman启动用户不一致,即stop用户没有权限停止workerman。 解决: 切换到启动workerman的用户,或者用权限更高的用户停止workerman。
第三种可能性: 保存workerman主进程pid文件被删除,导致脚本找不到pid进程,导致停止失败。 解决: 将pid文件保存到安全的位置,参见手册Worker::$pidFile。
第四种可能性: workerman主进程pid文件对应的进程不是workerman进程。
解决: 打开workerman的主进程的pid文件查看主进程pid,pid文件默认在Workerman平行的目录里。运行命令 ps aux | grep 主进程pid 查看对应的进程是否是Workerman进程,如果不是,可能是服务器重启过,导致workerman保存的pid是过期的pid,而这个pid刚好被其它进程使用,导致停止失败。如果是这种情况,将pid文件删除即可。
参考手册 http://doc.workerman.net/faq/stop-fail.html
这几种都排查过,都未解决;
执行fg,提示no such job,但消息收发不受任何影响。
无法停止就kill掉,上面不是说了
kill掉,然后再启动,然后还是无法停止;大哥,有没有一劳永逸的解决方法,或者还是说7.4还暂时不兼容?
运行php -v看下版本
7.4.10
php -m 贴下
并且还有一个问题,切换了php7.4以后,cpu经常性跑满。
如果确认切换php版本的问题就把php版本换了
现象:
运行 php start.php stop 提示 stop fail
原因:几种可能性
第一种可能性:
前提是以debug方式启动的workerman,开发者在终端按了ctrl z给workerman发送了SIGSTOP信号,导致workerman进入后台并挂起(暂停),所以无法响应stop命令(SIGINT信号)。
解决:
在启动workerman的终端输入fg(发送SIGCONT信号)然后回车,将workerman切回前台运行,按ctrl c(发送SIGINT信号)停止workerman。
如果无法停止,尝试运行以下两条命令
第二种可能性:
运行stop的用户和workerman启动用户不一致,即stop用户没有权限停止workerman。
解决:
切换到启动workerman的用户,或者用权限更高的用户停止workerman。
第三种可能性:
保存workerman主进程pid文件被删除,导致脚本找不到pid进程,导致停止失败。
解决:
将pid文件保存到安全的位置,参见手册Worker::$pidFile。
第四种可能性:
workerman主进程pid文件对应的进程不是workerman进程。
解决:
打开workerman的主进程的pid文件查看主进程pid,pid文件默认在Workerman平行的目录里。运行命令 ps aux | grep 主进程pid 查看对应的进程是否是Workerman进程,如果不是,可能是服务器重启过,导致workerman保存的pid是过期的pid,而这个pid刚好被其它进程使用,导致停止失败。如果是这种情况,将pid文件删除即可。
参考手册 http://doc.workerman.net/faq/stop-fail.html
这几种都排查过,都未解决;
执行fg,提示no such job,但消息收发不受任何影响。
无法停止就kill掉,上面不是说了
kill掉,然后再启动,然后还是无法停止;大哥,有没有一劳永逸的解决方法,或者还是说7.4还暂时不兼容?
运行php -v看下版本
7.4.10
php -m 贴下
并且还有一个问题,切换了php7.4以后,cpu经常性跑满。
如果确认切换php版本的问题就把php版本换了