首页
下载
文档
问答社区
视频
捐赠
源代码
AI 助理
赞助商
CRMEB
Apipost
腾讯云
微擎
禅道
51Talk
商业产品
Swoole AI 智能文档翻译器
Swoole-Compiler PHP 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
完全协程化的 HTTP 服务器启动的时候只能启动一个进程吗?
### 问题描述 https://wiki.swoole.com/#/coroutine/http_server?id=%e5%ae%8c%e6%95%b4%e7%a4%ba%e4%be%8b 如上的示例代码,启动服务的时候,只有一个进程。即使另外设置了work_num也没用。 ### Swoole版本,PHP版本,以及操作系统版本信息 Version => 4.4.3 ### 相关代码 ```php ``` //开启http服务器 $port = 2345; $http = new Server("0.0.0.0", $port); //http服务器的一些配置参数 $http->set([ 'worker_num' => 4,//cpu核数的1-4倍 'package_max_length' => 1024 * 1024 * 128,//最大128M的文件上传 'daemonize' => true, 'max_request' => 1000, 'log_file' => './logs/info.log', 'pid_file' => $this->pidFile, ]); $http->handle('/', function ($request, $response) { //初始化全局变量 $GLOBALS = [ 'time_stamp' => $request->server['request_time'], //当前时间戳 'micro_time' => $request->server['request_time_float'], //当前微秒 'time' => date('Y-m-d H:i:s', $request->server['request_time']), //当前时间 'day' => date('Y-m-d', $request->server['request_time']), //当前日期 ]; } ### 你期待的结果是什么?实际看到的错误信息又是什么? 这是怎么回事呢?
发布于3年前 · 6 次浏览 · 来自
提问
轻轻的烟雾
### 问题描述 https://wiki.swoole.com/#/coroutine/http_server?id=%e5%ae%8c%e6%95%b4%e7%a4%ba%e4%be%8b 如上的示例代码,启动服务的时候,只有一个进程。即使另外设置了work_num也没用。 ### Swoole版本,PHP版本,以及操作系统版本信息 Version => 4.4.3 ### 相关代码 ```php ``` //开启http服务器 $port = 2345; $http = new Server("0.0.0.0", $port); //http服务器的一些配置参数 $http->set([ 'worker_num' => 4,//cpu核数的1-4倍 'package_max_length' => 1024 * 1024 * 128,//最大128M的文件上传 'daemonize' => true, 'max_request' => 1000, 'log_file' => './logs/info.log', 'pid_file' => $this->pidFile, ]); $http->handle('/', function ($request, $response) { //初始化全局变量 $GLOBALS = [ 'time_stamp' => $request->server['request_time'], //当前时间戳 'micro_time' => $request->server['request_time_float'], //当前微秒 'time' => date('Y-m-d H:i:s', $request->server['request_time']), //当前时间 'day' => date('Y-m-d', $request->server['request_time']), //当前日期 ]; } ### 你期待的结果是什么?实际看到的错误信息又是什么? 这是怎么回事呢?
赞
1
分享
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
评论
2021-05-14
鲁飞
是的。 协程风格的服务不会自动创建多个进程,需要配合 Process\Pool 模块使用才能利用多核。 文档中有说明,请认真阅读。 https://wiki.swoole.com/#/server/co_init
赞
1
回复
2021-05-14
轻轻的烟雾
回复
鲁飞
好的。多谢多谢了。
赞
0
回复
微信公众号
热门内容
作者其它话题
- swoole http_server 自动覆盖 'Content-Length',手动设置无效吗?
暂无回复的问答
- CodeGalaxy K3s 轻量集群节点之间如何实现负载均衡
- 关于openssl CURL WARNING swSSL_connect: SSL_connect(fd=69) failed. Error: error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small[1|394]
- 多个模型如何进行事务异常回退?
- websocket开启wss报错
- 协程tcp服务器如何使用多进程?recv()方法接收信息,打印出来的pid一直是同一个。没用使用到多进程啊。