• 2024-11-11swoole,websocket服务器(协程风格)--进阶篇
        swoole的websocket服务器(协程风格)示例真不算友善,从头了解到尾,那还好,但是谁有那么多时间从头到尾了解。示例不够针对性,写websocket就该单独写websocket的东西,偏偏又加上http的东西。这里我来解读一下websocket服务器(协程风格)示例<?php  useSwoole\Http\Reque
  • 2024-11-08laravel11:安装使用octane
    一,什么是octane?1,LaravelOctane 通过使用高性能应用程序服务器为您的应用程序提供服务来增强您的应用程序的性能,  包括OpenSwoole,Swoole,和 RoadRunner。Octane启动您的应用程序一次,将其保存在内存中,然后以极快的速度向它提供请求。2,官网地址:https://laravel.com/d
  • 2024-10-25如何在Swoole中使用协程实现高并发的swoole_smtp函数
    ​使用Swoole的协程功能可以高效地处理大量的并发请求。本文详细介绍如何在Swoole中通过协程实现高并发的swoole_smtp函数。我们将依次探讨:1.什么是Swoole和协程;2.swoole_smtp函数的基础知识;3.协程如何增强swoole_smtp的并发性能;4.具体的实现步骤;5.实践中的注意事项。1.什么是S
  • 2024-10-09centos7安装Hyperf运行环境
    本次环境安装选择基于Swoole驱动的版本一.安装php8.21.yum没有高版本的php,使用remi安装php安装EPEL仓库sudoyuminstallepel-release2.安装Remi仓库并启用php8.2的仓库sudoyuminstallhttps://rpms.remirepo.net/enterprise/remi-release
  • 2024-09-28Swoole之Hyperf框架的迁移和填充
    hyperf框架的orm其实就是基于laravel改造的。会laravel就会hyperf,只不过目前为止hyperf的文档都没有填充相关的。生成迁移文件,这点文档有,具体可以参考文档https://hyperf.wiki/3.1/#/zh-cn/db/migrationphpbin/hyperf.phpgen:migrationcreate_users_table修改migrations
  • 2024-09-20swolle docker 镜像安装
    拉取镜像dockerpullphpswoole/swoole:latest测试镜像环境:dockerrun--rmphpswoole/swoole:latest"php-m"dockerrun--rmphpswoole/swoole:latest"php--riswoole"dockerrun--rmphpswoole/swoole:latest"composer--version"启动容器dockerr
  • 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语言的崛起,简洁语法和并发优势吸引大厂使用,吸引了大多数程序员的转