• 2024-09-02swoole为什么能常驻内存
    Swoole作为一个高性能的PHP扩展,近年来受到了越来越多开发者的关注,其显著的特点之一就是能够常驻内存。这一功能使得Swoole在处理高并发、长连接和复杂业务场景时,表现出色。很多人可能会好奇,Swoole为什么能常驻内存,这背后有什么技术原理?本文将为你解答这一疑问。我们需要了
  • 2024-08-26为什么说 Swoole 是 PHP 程序员技术水平的分水岭?
    大家好,我是码农先森。谈到这个话题有些朋友心中不免会有疑惑,为什么是Swoole而不是其他呢?因为Swoole是基于C/C++语言开发的高性能异步通信扩展,覆盖的特性足够的多,有利于PHP程序员接触更全面的技术知识点。大多数的朋友踏入到PHP的大门都是因其简单的语法及其弱类型的特
  • 2024-08-21swoole 连接池
    declare(strict_types=1);//引入useSwoole\Coroutine;useSwoole\Database\PDOConfig;useSwoole\Database\PDOPool;useSwoole\Runtime;protected$pool=null;publicfunction__construct(){//配置链接池//创建WebSocketServer对象,监听0.0.0.0:9307端口。
  • 2024-07-29centos7.9 安装Hyperf 环境
    安装php7.4cat/etc/redhat-releaseyuminstallepel-releaserpm-Uvhhttps://rpms.remirepo.net/enterprise/remi-release-7.rpmyuminstall-yyum-utilsyum-config-manager--enableremi-php74yuminstall-yphpphp-fpmphp-cliphp-fpmphp-mysqlndphp-zipphp-d
  • 2024-07-22PHP 高性能框架 Workerman 凭什么能硬刚 Swoole ?
    大家好,我是码农先森。一次偶然看到了国外某机构针对PHP周边生态框架及扩展的性能测试排行榜,看到Workerman竟遥遥领先Swoole。在我们PHP程序员现有的认知里,Swoole作为一个基于C/C++语言编写的扩展程序,性能居然落后了。第一眼看到这个结果的时候,我的心情久久不能平复,脑子
  • 2024-07-17基于 Swoole 扩展的框架如 Hyperf 或 EasySwoole的用户请求流程
    当使用基于Swoole扩展的框架如Hyperf或EasySwoole时,不再需要PHP-FPM和传统的FastCGI协议来处理请求。这些框架直接利用Swoole扩展的特性来处理网络请求,并通过协程提高并发处理能力。以下是这些框架处理请求的正确流程:1.Web服务器接收请求Web服务器(如Nginx或
  • 2024-07-17PHP + Swoole 与 Go 技术选型对比调研报告
    1.引言在高并发场景下,选择合适的技术栈至关重要。PHP+Swoole和Go都是当前流行的技术选型,但它们在性能、开发效率、易用性等方面各有优劣。本报告将从多个维度对比这两种技术,帮助开发者做出更合适的选择。2.技术概述PHP+SwooleSwoole 是一个高性能的PHP异步并发
  • 2024-07-15thinkPHP+swoole扩展搭建一个websocket连接聊天室(简易版)
    1.服务器搭建好宝塔面板,并开放用于连接websocket的端口:例如9502 2.本地准备好连接的文件,以thinkPHP举例:(1)根目录下的Websocket.php文件(2)前端index入口文件添加test()方法,然后在view目录里添加相应的test.html  test()方法: test.html:  3.打开宝塔面板,放行9502
  • 2024-07-11PHP 程序员是学 Swoole ?还是学 Go ?
    大家好,我是码农先森。面临现状这次为什么要讨论这个话题,因为Swoole和Go在PHP程序员坊间一直都是茶语饭后的谈资,觉得懂Swoole和Go的就高人一等。相信有很多的PHP程序员,自打Swoole发布以来就从来没有使用过。还记得Swoole官方有一遍入门文章中曾建议学习Swoole
  • 2024-06-11老生常谈!程序员为什么要阅读源代码?
    大家好,我是码农先森。阅读源码这是一个老生常谈的话题了,但又是很多人想做又没有付出行动的事情。前段时间我研究了Swoole的源代码,并且输出了系列的源码分析文章「感兴趣的朋友可以翻阅以前的文章」。虽然这个过程很枯燥和艰难,但到最后有种苦尽甘来的感觉,因为突破了自己之
  • 2024-06-11老生常谈!程序员为什么要阅读源代码?
    大家好,我是码农先森。阅读源码这是一个老生常谈的话题了,但又是很多人想做又没有付出行动的事情。前段时间我研究了Swoole的源代码,并且输出了系列的源码分析文章「感兴趣的朋友可以翻阅以前的文章」。虽然这个过程很枯燥和艰难,但到最后有种苦尽甘来的感觉,因为突破了自己之前一直
  • 2024-05-06对于耗时比较长的程序,比如请求外部链接,为什么swoole比php-fpm并发好
    Swoole相比PHP-FPM在处理耗时较长的程序,如请求外部链接时表现出更高的并发能力,原因主要包括以下几点:1.**常驻内存**:Swoole是一个高性能的异步并发框架,它以扩展的形式运行在PHP中,能够将PHP程序常驻在内存中。这意味着Swoole的服务一旦启动,就会持续运行,不需要为每个请求创建和销毁
  • 2024-05-01基于Hyperf的CMS,企业官网通用php-swoole后台管理系统
    2023年9月11日10:47:00仓库地址:https://gitee.com/open-php/zx-hyperf-cmsCMS,企业官网通用PHP后台管理系统框架介绍hyperfSCUI后端开发组件php8.1hyperf3.1数据库sql(使用最新日期文件)hyperf\doc\sql_bakmysql8.系统默认账号密码:admin/admin前端开发组件scui
  • 2024-04-16Swoole 实践篇之结合 WebRTC 实现音视频实时通信方案
    原文首发链接:Swoole实践篇之结合WebRTC实现音视频实时通信方案大家好,我是码农先森。引言这次实现音视频实时通信的方案是基于WebRTC技术的,它是一种点对点的通信技术,通过浏览器之间建立对等连接,实现音频和视频流数据的传输。在WebRTC技术中通常使用WebSocket服务来协
  • 2024-04-07Swoole 源码分析之 Timer 定时器模块
    原文首发链接:Swoole源码分析之Timer定时器模块大家好,我是码农先森。引言Swoole中的毫秒精度的定时器。底层基于epoll_wait和setitimer实现,数据结构使用最小堆,可支持添加大量定时器。在同步IO进程中使用setitimer和信号实现,如Manager和TaskWorker进程,在异步IO
  • 2024-04-0507 | Swoole 源码分析之 Channel 通道模块
    原文首发链接:Swoole源码分析之Channel通道模块大家好,我是码农先森。引言通道,用于协程间通讯,支持多生产者协程和多消费者协程。底层自动实现了协程的切换和调度。通道与PHP的Array类似,仅占用内存,没有其他额外的资源申请,所有操作均为内存操作,无IO消耗。底层使用
  • 2024-04-04Swoole 源码分析之 Channel 通道模块
    原文首发链接:Swoole源码分析之Channel通道模块大家好,我是码农先森。引言通道,用于协程间通讯,支持多生产者协程和多消费者协程。底层自动实现了协程的切换和调度。通道与PHP的Array类似,仅占用内存,没有其他额外的资源申请,所有操作均为内存操作,无IO消耗。底层使用PHP
  • 2024-03-21[GPT] swoole的协程和golang的协程有什么区别,哪个更好
    Swoole的协程和Golang(Go语言)的协程(Goroutine)在概念上都是为了实现轻量级的并发编程,但它们在具体实现、使用方式和性能特点上有所不同:实现原理:Golang协程(Goroutine):Go语言从语言层面内置了对协程的支持。Goroutine是由Go运行时系统管理的轻量级线程,它基于M:N调度模型
  • 2024-03-1901 | Swoole与Go系列教程之HTTP服务的应用
    首发原文链接:Swoole与Go系列教程之HTTP服务的应用大家好,我是码农先森。写在前面PHP曾是Web开发领域佼佼者,随着业务壮大,异步和高并发方面不足显现。Swoole曾经尝试填补空白,但局限性也比较的明显。Go语言的崛起,简洁语法和并发优势吸引大厂使用,吸引了大多数程序员的转
  • 2024-03-18Swoole 源码分析之 WebSocket 模块
    首发原文链接:Swoole源码分析之WebSocket模块大家好,我是码农先森。Swoole源码分析之WebSocket模块引言WebSocket是一种在单个TCP连接上进行全双工通信的协议。它允许客户端和服务器之间进行实时数据传输。与传统的HTTP请求-响应模型不同,WebSocket可以保持双向通信
  • 2024-03-11Swoole 源码分析之 epoll 多路复用模块
    首发原文链接:Swoole源码分析之HttpServer模块大家好,我是码农先森。引言在传统的IO模型中,每个IO操作都需要创建一个单独的线程或进程来处理,这样的操作会导致系统资源的大量消耗和管理开销。而IO多路复用技术通过使用少量的线程或进程同时监视多个IO事件,能够更高效地处理大
  • 2024-03-05thinkphp8扩展think-swoole4.0
    配置文件config/swoole.php<?php//默认\think\swoole\websocket\Handler::class,usethink\swoole\websocket\socketio\Handler;return['http'=>['enable'=>true,//开启'host'=>
  • 2024-02-18Swoole 源码分析之 Http Server 模块
    首发原文链接:Swoole源码分析之HttpServer模块Swoole源码分析之HttpServer模块Http模块的注册初始化这次我们分析的就是Swoole官网的这段代码,看似简单,实则不简单。在Swoole源码文件swoole_http_server.c中有这样一个函数php_swoole_http_server_minit。这个
  • 2023-11-21windows 搭建 swoole开发环境
    1.下载:swoole官网下载swoole-cli-v5.0.3-cygwin-x64.zip只支持64位的系统 2.解压到指定文件夹:C:\phpstudy_pro\swoole-cli-v5.0.3-cygwin-x64 3.设置环境变量:把解压后的文件夹下的bin目录路径配置到系统的Path环境变量中,确定保存 4.检查安装情况:打开命令行输入:s
  • 2023-11-09php7.2安装swoole扩展
    swoole:  官网: https://www.swoole.com  github: https://github.com/swoole/swoole-src   gitee: https://gitee.com/swoole/swooleyuminstallunzipyuminstallpcre-develautoconfmake1.下载源码包并解压: cd/downloadwgethttps://gitee.com/