概述已经Swoole系列的第二篇知识点了,前一篇主要的针对处理的是方案设计,这一篇主要是代码实现的内容,主要介绍高性能的原因已经实现,编程框架使用EasySwoole。Swoole 与 EasySwooleSwoole属于php中的一个超级扩展,它会接管PHP的进程,管理和分配worker,但他依赖 PHP-Cli模式。Swoole和Yaf有相似的地方,它们
......
597
1
0
2023-03-25
前言不建议生产环境使用创建一个新的laravel项目laravel new swoole-laravel
将Laravel改成Swoole版Laravel 的根目录创建一个 swoole_server.php 文件,然后把 public/index.php 中的代码复制过来<?php
use Illuminate\Contracts\Http\
......
668
0
0
2022-12-10
swoole 的练习 demo(6)- 数据库设计与实现一直不能下决心好好学习,仔细研究一下,决定用尽量降低难度曲线的方法,从易到难,一步一步的学习,所以整了个demo项目。git仓库和使用步骤确保能看到swoole,在 php -m 命令中
php -m
git clone https://github.com/lang123789/swoole_d
......
438
0
0
2022-11-14
耗时的一些操作,邮件、公告之类的,<?php
class Ws{
const HOST ="127.0.0.1";
const PORT = 9504;
public $ws;
public function __construct() {
$this->ws = new swool
......
525
0
0
2022-11-02
<?php
$server = new swoole_websocket_server("0.0.0.0", 9503);
$server->on('open', 'onOpen');
$server->set([
'enable_static_handler' => true,
'document_ro
......
572
0
0
2022-11-02
<?php
$http = new swoole_http_server("0.0.0.0", 9502);
$http->on("request", function ($request, $response){
$response->end("11111");
});
$http->start();
因为是
......
439
0
0
2022-11-02
服务器代码 tcp.php<?php
//创建Server对象,监听 127.0.0.1:9501 端口
$server = new swoole_server('127.0.0.1', 9501);
$server->set([
'worker_num' => 4
]);
//监听连接进入事件
$server
......
442
0
0
2022-11-02
php执行程序是串行,IO只能在上一个执行完成后才会执行下一个,大部分时间是在等待io,严重影响效率,引入基于swoole协程的概念,实现http并发调用。
php代码实现
$start = microtime(true);
$n = 50;
for ($i = 0; $i < $n; $i++) {
$http = new Http
......
416
0
0
2022-11-02
swoole_timer_tick 间隔的时钟控制器
swoole_timer_after 指定的时间后执行
swoole_timer_clear 删除定时器
//每隔3000ms触发一次
$timer_id = swoole_timer_tick(3000, function () {
echo "tick 3000ms - ".date
......
479
0
0
2022-11-01
redis生产者发布php artisan make:command Redis/PublishCommand
redis消费者订阅php artisan make:command Redis/SubCommand
启动websocketphp artisan ws
<?php
namespace App\Console\Commands;
......
561
0
0
2022-10-20
swoole 本人学习环境 linux swoole 4.5.5 php7.2一、swoole 扩展安装环境 wiki.swoole.com/#/environment 可借鉴redis 安装 Linux 线上 如何安装redis 开发swoole 官网 www.swoole.com/swoole 文档 wiki.swoole.com/#/基于swoole生
......
418
0
0
2022-09-24
服务端<?php
$server = new Swoole\WebSocket\Server("0.0.0.0", 9501);
$server->on('open', function (Swoole\WebSocket\Server $server, $request) {
echo "server: handshake suc
......
503
0
0
2022-08-09
一、 下载swoole安装包
git clone https://gitee.com/swoole/swoole.git
二、切换到 swoole 目录
cd swoole
三、编译并配置和安装
phpize && ./configure --with-php-config=/usr/bin/php-config7.3 &&a
......
508
0
0
2022-07-30
修改 dnmp 的 .env 文件, php 配置 swoole 扩展PHP_EXTENSIONS=swoole
销毁容器docker-compose down
重新构建 php 容器docker-compose build php
启动docker-compose up -d
查看 安装的 swoole 扩展php -m | grep swoole
......
445
0
0
2022-07-19
Ubuntu 原生安装 Swoole 扩展官方编译安装教程 点击进入 swoole 的 Github 版本列表,选择最新版本的压缩包下载swoole 版本列表
$ wget https://github.com/swoole/swoole-src/archive/refs/tags/v4.8.0.zip
下载完成后进行操作
# 如果没有unzip 的话
......
409
0
0
2022-07-16