![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
swoole
八重樱。
这个作者很懒,什么都没留下…
展开
-
Swoole 4.5.6 支持零拷贝 JSON 或 PHP 反序列化
在最新的4.5.6开发分支中,底层增加了2个特殊的函数:swoole_substr_json_decode swoole_substr_unserialize这里为什么要增加这两个函数呢?有这样一种场景。使用Swoole\Server实现RPC服务,在EOF协议或长度协议通信方式下,一个包可能有3部分组成。$packet = $header + $body + $footer通常$header和$footer比较小,而$body比较大,$body可能会使用JSON或PHP序列化格式。如果原创 2020-10-22 19:49:34 · 946 阅读 · 1 评论 -
tp5 workerman安装不上解决方法
tp5 workerman安装不上怎么办?今天在tp5下安装Workerman时出现了以下问题$composer require topthink/think-workerUsing version ^2.0 for topthink/think-worker./composer.json has been updatedLoading composer repositori...原创 2020-04-09 14:58:47 · 1263 阅读 · 0 评论 -
基于RabbitMQ和Swoole实现的一个完整的异步任务系统
从最开始的使用redis实现的单进程消费的异步任务系统到加入swoole的多进程消费模式,现在,我们的异步任务系统终于又能迈进一步。因为有了前面两个简单系统的经验,这回基于RabbitMQ的异步任务系统设计的的更加完善,包括多进程消费,异常重试等。系统介绍消费端架构图从图中可以看到,我们这个系统是一个基于事件的异步任务系统。就是说当一个事件产生时,生产者将事件抛给调度器,...原创 2020-03-17 13:55:37 · 1395 阅读 · 0 评论 -
swoole模块的编译安装:php编译安装swoole模块的代码
本篇文章给大家带来的内容是关于swoole模块的编译安装:php编译安装swoole模块的代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。1.下载swoole1 wget https://github.com/swoole/swoole-src/archive/v1.9.3-stable.tar.gz 2.安装找点phpize 和 php-config路...原创 2020-03-14 17:07:51 · 185 阅读 · 0 评论 -
基于 Swoole 的微信扫码登录
随着微信的普及,扫码登录方式越来越被现在的应用所使用。它因为不用去记住密码,只要有微信号即可方便快捷登录。微信的开放平台原生就有支持扫码登录的功能,不过大部分人还是在用公众平台,所以扫码登录只能自行实现。这里基于微信公众平台的带参数临时二维码,并且结合 Swoole 的 WebSocket 服务实现扫码登录。大体流程如下:客户端打开登录界面,连接到 WebSocket 服务 WebSc...原创 2020-03-06 20:23:44 · 238 阅读 · 0 评论 -
怎么从一名码农成为架构师的必看知识点:目录大全(不定期更新)
八重樱:怎么从一名码农成为一名资深架构师面试题系列:八重樱:分享一波腾讯PHP面试题八重樱:2019年PHP最新面试题(含答案)八重樱:Redis 高级面试题 学会这些还怕进不了大厂?八重樱:阿里面试官三年经验PHP程序员知识点汇总,学会你就是下一个阿里人!八重樱:php面试题之PHP核心技术八重樱:掌握 Redis这些 知识点,面试官一定觉得你很 NB八重樱:当面...原创 2020-01-11 21:39:10 · 937 阅读 · 0 评论 -
看完这些还怕掌握不了swoole?
随着PHP编程语言被越来越多的人使用,更多人了解到swoole的存在,有的人说swoole是披着PHP外衣的C程序,但是swoole并不是一个简单的PHP框架,正如swoole官方首页的第一句话“重新定义PHP”,千万不要用旧有php的思想来写swoole代码!swoole重新激活了PHP,php成就了swoole!作为一个PHP程序员,有时会用到httpsqs,而httpsqs只是...原创 2020-01-07 22:13:49 · 346 阅读 · 0 评论 -
Laravel集成Swoole教程
1.准备工作安装 Laravellaravel new laravel-swoole本人使用 valet 进行开发,可以使用laravel-swoole.test进行访问2.引入 swoole具体的 swoole 安装请移步官网进行下载,编译,安装,这里不多阐述了。1. 在项目更目录创建一个 server 文件夹,然后在该文件夹中创建 http_server.p...原创 2020-01-07 20:52:28 · 1797 阅读 · 0 评论 -
php编译安装扩展redis及swoole
一.安装redis扩展下载redis扩展包以及解压wget https://github.com/edtechd/phpredis/archive/php7.zipunzip php7.zip进入解压后目录,编译安装我的官方群点击此处。cd data/pkg/phpredis-php7/usr/local/php/bin/phpize出现问题Canno...原创 2019-12-26 20:45:03 · 128 阅读 · 0 评论 -
当Swoole遇上PHP
Swoole涉及的知识点非常多,互为表里,每次想写都发现根本理不出一个头绪Swoole是一个php的扩展,它的核心目的就是解决php在实现server服务中可能遇到的一系列问题,这些问题用源生的php往往并不能很高效(执行效率)的解决,一般也不会使用php来解决,所以会有说swolle重新定义的php的说法。毕竟php作为一门成熟的脚本语言,开发效率是先天优势。扩展的英文名称是Exten...原创 2019-12-16 20:48:11 · 159 阅读 · 1 评论 -
【swoole入门】如何快速创建一个web服务器
Swoole是一种PHP高级Web开发扩展,可以提升网站的开发效率。本篇文章中小编将介绍如何用swoole创建web服务器,感兴趣的朋友可以来学习一下。http_server.php 0.0.0.0 表示监听所有IP地址,一台服务器可能同时有多个IP,如127.0.0.1本地回环IP、192.168.1.100局域网IP、210.127.20.2 外网IP,这里也可以单独指定监听一个I...原创 2019-12-16 20:46:41 · 246 阅读 · 0 评论 -
Swoole高效跟传统的web开发有什么区别?
一、swoole的运行模式Swoole高效跟传统的web开发有什么区别,除了传统的LAMP/LNMP同步开发模式,swoole的异步开发模式是怎么样的。我的官方群点击此处。获取更多的swoole学习资料以及视频源码笔记。1.1、传统web开发模式PHP web开发采用的方式是LAMP/LNMP架构,即Linux、Nginx,Mysql和PHP。这里以nginx来举例,大致结构为:...原创 2019-12-12 20:36:50 · 346 阅读 · 0 评论 -
基于 Swoole 的微信扫码登录
随着微信的普及,扫码登录方式越来越被现在的应用所使用。它因为不用去记住密码,只要有微信号即可方便快捷登录。微信的开放平台原生就有支持扫码登录的功能,不过大部分人还是在用公众平台,所以扫码登录只能自行实现。这里基于微信公众平台的带参数临时二维码,并且结合 Swoole 的 WebSocket 服务实现扫码登录。大体流程如下:客户端打开登录界面,连接到 WebSocket 服务 WebScoke...原创 2019-11-23 17:20:57 · 194 阅读 · 0 评论 -
实现websocket 主动消息推送,用laravel+Swoole
近来有个需求:想实现一个可以主动触发消息推送的功能,这个可以实现向模板消息那个,给予所有成员发送自定义消息,而不需要通过客户端发送消息,服务端上message中监听传送的消息进行做相对于的业务逻辑。主动消息推送实现平常我们采用 swoole 来写 WebSocket 服务可能最多的用到的是open,message,close这三个监听状态,但是万万没有看下下面的onRequest回调的使...原创 2019-11-23 14:27:50 · 1005 阅读 · 0 评论 -
Swoole协程与Go协程的区别,很详细,很牛逼
进程、线程、协程的概念进程是什么?进程就是应用程序的启动实例。例如:打开一个软件,就是开启了一个进程。进程拥有代码和打开的文件资源,数据资源,独立的内存空间。线程是什么?线程属于进程,是程序的执行者。一个进程至少包含一个主线程,也可以有更多的子线程。线程有两种调度策略,一是:分时调度,二是:抢占式调度。协程是什么?协程是轻量级线程, 协程的创建、切换、挂起、销毁全部为内存...原创 2019-11-22 16:11:27 · 1786 阅读 · 0 评论 -
php Swoole实现毫秒级定时任务
项目开发中,如果有定时任务的业务要求,我们会使用linux的crontab来解决,但是它的最小粒度是分钟级别,如果要求粒度是秒级别的,甚至毫秒级别的,crontab就无法满足,值得庆幸的是swoole提供的强大的毫秒定时器。应用场景举例我们可能会遇到这样的场景:场景一:每隔30秒获取一次本机内存使用率 场景二:2分钟后执行报表发送任务 场景三:每天凌晨2点钟定时请求第三方接口,如果...原创 2019-11-21 14:40:36 · 1092 阅读 · 0 评论 -
php—Swoole和Redis实现的并发队列处理系统
由于PHP不支持多线程,但是作为一个完善的系统,有很多操作都是需要异步完成的。为了完成这些异步操作,我们做了一个基于Redis队列任务系统。大家知道,一个消息队列处理系统主要分为两大部分:消费者和生产者。在我们的系统中,主系统作为生产者,任务系统作为消费者。具体的工作流程如下:1、主系统将需要需要处理的任务名称+任务参数push到队列中。2、任务系统实时的对任务队列进...原创 2019-11-21 14:04:29 · 420 阅读 · 0 评论 -
Swoole长连接常见问题
连接失效问题例子其中,Redis常见的报错就是:配置项:timeout 报错信息:Error while reading line from the serverRedis可以配置如果客户端经过多少秒还不给Redis服务器发送数据,那么就会把连接close掉。MySQL常见的报错:配置项:wait_timeout & interactive_timeout 报错信...原创 2019-11-11 14:42:53 · 1081 阅读 · 0 评论 -
PHP Swoole与TCP四次挥手
TCP关闭的过程(四次挥手)1、客户端 发送FIN包给 服务端,此时客户端处于FIN_WAIT1状态 2、服务端 发送ACK包给 客户端,此时服务器处于CLOSE_WAIT状态,并且客户端在等待ACK包的时候,处于FIN_WAIT2状态 3、服务端 发送FIN包给 客户端,此时服务端处于LAST_ACK状态 4、客户端 发送ACK包给 服务端,此时客户端处于TIME_WAIT状态第一次...原创 2019-11-11 13:48:00 · 3182 阅读 · 0 评论 -
PHP协程:并发 shell_exec
在PHP程序中经常需要用shell_exec执行一些命令,而普通的shell_exec是阻塞的,如果命令执行时间过长,那可能会导致进程完全卡住。 在Swoole4协程环境下可以用Co::exec并发地执行很多命令。本文基于Swoole-4.2.9和PHP-7.2.9版本协程示例<?php$c = 10;while($c--) { go(function () { ...原创 2019-11-11 13:32:24 · 280 阅读 · 0 评论 -
go-micro+php+consul简单的微服实现
首先我们用go-micro构建一个服务。(关于go-micro的使用可以参照官方实例或者文档)//新建一个微服务micro new --type "srv" user-srv定义我们的服务,这里定义两个rpc服务,Register和User// 修改protosyntax = "proto3";package go.micro.srv.user;service...原创 2019-11-07 14:06:10 · 498 阅读 · 0 评论 -
PHP Linux下安装Swoole及基本使用
下载Swoole PECL扩展源码包:http://pecl.php.net/package/swoole关于PHP版本依赖选择:下载好放到/usr/local/src下,解压缩:tar -zxvf swoole-2.2.0.tgz准备扩展安装编译环境:phpize查看php-config位置:find / -name php-config在php.i...转载 2019-11-04 21:42:45 · 678 阅读 · 0 评论 -
PHP EasySwoole 框架接入HyperfCommand
仓库地址Aquarmini/easyswoole-demogithub.com 试用 EasySwoole 自定义命令创建文件<?phpdeclare(strict_types=1);namespace App\Command;use EasySwoole\EasySwoole\Command\CommandInterface;class Dem...原创 2019-11-02 20:49:05 · 816 阅读 · 0 评论 -
PHP 在Swoole中使用双IoC容器实现无污染的依赖注入
简介:容器(container)技术(可以理解为全局的工厂方法), 已经是现代项目的标配. 基于容器, 可以进一步实现控制反转, 依赖注入.Laravel的巨大成功就是构建在它非常强大的IoC容器illuminate/container基础上的. 而 PSR-11 定义了标准的container, 让更多的 PHP 项目依赖容器实现依赖解耦, 面向接口编程.另一方面, PHP ...原创 2019-11-02 15:06:46 · 219 阅读 · 0 评论 -
PHP:Swoole与TCP三次握手
握手常见问题1、连接拒绝2、Operation now in progress 多是因为丢包、错误ip、backlog满了&阻塞&tcp_abort_on_overflow=03、min(maxconn, backlog) ss -lt连接拒绝在TCP三次握手的时候,客户端发送SYN这个包给服务端,服务端不接受这个请求,操作系统直接返回了一个RST的包,来拒绝...原创 2019-10-31 17:27:23 · 460 阅读 · 0 评论 -
PHP 使用 Swoole 来加速你的 Laravel 应用
Swoole 是为 PHP 开发的生产级异步编程框架。 他是一个纯 C 开发的扩展, 他允许 PHP 开发者在 PHP 中写 高性能,可扩展的并发 TCP, UDP, Unix socket, HTTP, WebSocket 服务, 而不需要拥有太多的非阻塞 I/O 编程和低级别的 Linux 内核知识。 你可以把 Swoole 想象成 NodeJS, 但对于 PHP 来说将有更高性能。为...原创 2019-10-30 15:21:18 · 320 阅读 · 1 评论