swoole学习过程中踩到的坑

el/2024/7/13 12:30:31

swManager_loop(:272): wait() failed.

[2017-09-02 13:41:19 #8475.2]   NOTICE  Server is shutdown now.
[2017-09-02 13:41:19 $8476.0]   ERROR   swManager_loop(:272): wait() failed. Error: Interrupted system call[4].

当前版本是1.8.11,在论坛中,有人也出现过这个问题,后来通过升级Swoole扩展的版本解决。
该错误不会影响到程序执行。

swFactoryProcess_finish (ERROR 1004)

 ERROR   swFactoryProcess_finish (ERROR 1004): send 5 byte failed, because session#1 is closed.

看错误信息,应该是指发送5byte的数据错误,原因是会话1已经关闭。

后来发现我的onclose回调中,有一句返回值$server->send($fd,"close");。连接都已经关闭了,然后再发送close(刚好5字节),就会报错。

swoole_server must run at php_cli environment.

必须以shell的形式执行,php里面只能通过exec函数去执行响应的php脚本才行。

使用swoole_set_process_name或者cli_set_process_title设置进程名称报错

在终端报错信息

PHP Fatal error:  Uncaught exception 'ErrorException' with message 'cli_set_process_title(): cli_set_process_title had an error: Not initialized correctly' in xxxx.php:94

macOs会遇到此问题,是macos因为安全问题,有些功能给禁止了,即时sudo了也不行,但是换了Linux系统,就可以

[root@227test WEDO_EZSVS_COM]# ps aux | grep mj
root     22004  0.2  0.8 513572 65632 pts/1    Tl   14:07   0:00 mjsystem
root     22011  0.0  0.3 439672 29284 pts/1    T    14:07   0:00 php artisan mj start
root     22017  0.0  0.3 442020 29556 pts/1    T    14:07   0:00 php artisan mj start
root     24954  0.0  0.0 112644   964 pts/1    S+   14:09   0:00 grep --color=auto mj

http://www.ngui.cc/el/5557318.html

相关文章

更改session目录

之前线上的项目(thinkphp,阿里云服务器)无法访问,发现是服务器节点满了 这个环境有点奇葩,系统的节点用的差不多了,但是挂载了一个额外的云盘,节点剩了很多,之前就是把本来放到系统…

学习鸟哥的Linux私房菜笔记(1)——基础使用

一、计算机的五大单元 二、Linux用户环境 1、内核(Kernel) 内核管理的事项有:系统调用接口(实现开发人员与核心的沟通)、进程控制,合理分配CPU资源、内存管理、文件系统管理 2、Shell shell用于接收用户的命令&#xf…

学习鸟哥的Linux私房菜笔记(6)——过滤器、输入输出及管道

一、过滤器 Linux中的应用工具分为三种: 交互工具 过滤器 编辑器 能够接受数据,过滤再输出的工具,称之为过滤器 对过滤器和进程,存在着输入源与输出对象 二、输入、输出、重定向 输入:过滤器的数据来源 ——标准输入st…

学习鸟哥的Linux私房菜笔记(13)——用户管理

一、检查用户身份 用户可以使用下列指令了解用户身份 who &#xff1a;查询当前在线的用户 groups &#xff1a;查询用户所属组 id &#xff1a;显示当前用户信息 finger &#xff1a;查询用户信息 二、添加用户 用指令添加命令 useradd <username> passwd <passwd&g…

mysql 查询出某字段的值为空的语句

1.不为空 select * from table where id <> ""; select * from table where id ! ""; 2.为空 select * from table where id ""; select * from table where isNull(id); 具体情况具体分析&#xff0c;如果字段是char或者varchar类型的&am…

Junit配置

1.点击Build Path ---》configure 2.选择Add Library &#xff0c;点击next 3.选择Junit4&#xff0c;点击Finish

Git常用命令解说(从创建到提交)

Git库中由三部分组成 Git 仓库就是那个.git 目录&#xff0c;其中存放的是我们所提交的文档索引内容&#xff0c;Git 可基于文档索引内容对其所管理的文档进行内容追踪&#xff0c;从而实现文档的版本控制。.git目录位于工作目录内。 1&#xff09;工作目录&#xff1…

git 创建 .gitignore 文件 建立项目过滤规则

创建 .gitignore 随意设置想跟踪哪些文件和不跟踪哪些文件. 1.在项目根目录下建立 .gitignore 文件 2. .gitignore文件过滤有两种模式&#xff0c;开放模式和保守模式 2.1开放模式负责设置过滤哪些文件和文件夹 eg&#xff1a; 过滤文件夹设置&#xff1a; /mtk/ 过滤文件设…

使用eclipse 添加user library

在Eclipse中有两种常用的添加引用的jar包的方法&#xff0c;一个就是添加Referenced Library&#xff0c;这种方式很简单&#xff0c;出选中项目右键->import之外&#xff0c;还可以直接向WebRoot->WEB-INF->lib中复制粘贴jar包文件&#xff0c;缺点是下次添加同样的j…

java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Tim

分析&#xff1a;loginTime的时间有误。改成如图所示的时间格式&#xff0c;而不能为 0000-00-00 00:00:00