[PHP] swoole直接使用二进制包
2023-02-18 15:41:10 时间
swoole提供一个编译好的二进制包,这个包连php都包含进去了,下载解压后就可以直接运行,都不用安装php
在这个地方直接下载二进制包
https://www.swoole.com/page/download
下载完按照官方建议解压缩到/opt/swoole tar -xvf swoole.tar.xz -C /opt/swoole
直接写一个php文件使用swoole目录里的php进行运行
<?php $serv = new Swoole\Server("127.0.0.1", 9502, SWOOLE_BASE); $serv->set(array( 'worker_num' => 2, 'task_worker_num' => 4, )); $serv->on('Receive', function(Swoole\Server $serv, $fd, $from_id, $data) { echo "接收数据" . $data . "\n"; $data = trim($data); $task_id = $serv->task($data, 0); $serv->send($fd, "分发任务,任务id为$task_id\n"); }); $serv->on('Task', function (Swoole\Server $serv, $task_id, $from_id, $data) { echo "Tasker进程接收到数据"; echo "#{$serv->worker_id}\tonTask: [PID={$serv->worker_pid}]: task_id=$task_id, data_len=".strlen($data).".".PHP_EOL; $serv->finish($data); }); $serv->on('Finish', function (Swoole\Server $serv, $task_id, $data) { echo "Task#$task_id finished, data_len=".strlen($data).PHP_EOL; }); $serv->on('workerStart', function($serv, $worker_id) { global $argv; if($worker_id >= $serv->setting['worker_num']) { swoole_set_process_name("php {$argv[0]}: task_worker"); } else { swoole_set_process_name("php {$argv[0]}: worker"); } }); $serv->start();
/opt/swoole/bin/php /mnt/f/ubuntu/phpProject/myworker/task.php
相关文章
- 为NetBeans配置开发Java所需的JDK路径
- CSS Flex 弹性布局使用
- 【stars-one】JetBrains产品试用重置工具
- JB一键重置
- 修改阿里云DNS 解决蓝奏云无法访问问题
- IDEA无限试用插件
- 油猴脚本——快速引用某篇文章的标题和地址
- lzupdate
- 封装TornadoFx常用控件库
- 蓝奏云正则字符串
- stars-one的原创工具——文档生成器
- Tornadofx学习笔记(4)——IconTextFx开源库,整合5000+个字体图标
- rpc框架dubbo学习入门及环境搭建(spring boot+Kotlin)
- Tornadofx学习笔记(3)——使用Maven编译成jar包
- 探究Spring Boot中的接收参数问题与客户端发送请求传递数据
- 提问须知
- Spring boot返回时间与MySql数据库中不相同问题及解决方法
- Spring框架学习笔记(9)——API接口设计相关知识及具体编码实现
- Tornadofx学习笔记(2)——FxRecyclerView控件的打造
- Spring框架学习笔记(8)——spring boot+mybatis plus+mysql项目环境搭建