• 2024-10-19深入 Hyperf:Inject 注解是如何工作的?
    周五的时候,我在Hyperf群里看到有群友提出了一个问题:为什么Inject注解在使用new关键字实例化类时依然能够生效?按理说,Inject注解不是应该只在通过容器实例化类时才会起作用吗?这个问题引发了群友们的讨论和猜测,甚至有人感叹,Inject注解的实现简直就是魔法!对于这个问题,Hyperf
  • 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-01记一次Hyperf定时任务内存异常问题
    背景最近时不时收到K8S告警提示项目POD出现OOM问题,只要触发了项目重新部署或者把POD删掉,内存就恢复了,过了一段时间才缓慢增长(基本上要隔几天,这也是这个问题比较难定位和复现的原因)分析起初以为是某一个SQL没有限制limit或者是程序有死循环把内存跑满了,后面从日志看到
  • 2024-08-24hyperf ValidationExceptionHandler
    <?phpdeclare(strict_types=1);/***ThisfileispartofHyperf.**@linkhttps://www.hyperf.io*@documenthttps://hyperf.wiki*@[email protected]*@licensehttps://github.com/hyperf/hyperf/blob/master/LICENSE*/namespaceApp
  • 2024-08-21hyperf 协程作用和相关的方法
    什么是协程协程是一种轻量级的线程,由用户代码来调度和管理,而不是由操作系统内核来进行调度,也就是在用户态进行判断当前是否处于协程环境内在一些情况下我们希望判断一些当前是否运行于协程环境内,对于一些兼容协程环境与非协程环境的代码来说会作为一个判断的依据,我们可
  • 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-17基于 Swoole 扩展的框架如 Hyperf 或 EasySwoole的用户请求流程
    当使用基于Swoole扩展的框架如Hyperf或EasySwoole时,不再需要PHP-FPM和传统的FastCGI协议来处理请求。这些框架直接利用Swoole扩展的特性来处理网络请求,并通过协程提高并发处理能力。以下是这些框架处理请求的正确流程:1.Web服务器接收请求Web服务器(如Nginx或
  • 2024-07-15Hyperf 插入json数据需要注意
    我本来的代码是使用了firstOrCreate,但是实际create才会调用到模型文件protectedarray$casts=['id'=>'integer','created_at'=>'datetime','updated_at'=>'datetime','shop_id'=>'intege
  • 2024-06-23Hyperf redis 异步队列使用
    config/autoload/processes.phpuseApp\Book\Process\CreateQrcodeComsumer;return[Mine\Crontab\MineCrontabProcess::class,Hyperf\AsyncQueue\Process\ConsumerProcess::class,CreateQrcodeComsumer::class//增加自定义的异步队列类];由于hyper
  • 2024-06-23hyperf 生成二维码并且转为CMYK色彩通道的图片
    注意:CMYK色彩通道的图片格式需要为JPEG或TIFF,png是不支持CMYK的,不然转换的话会转换会srgb或Gray使用前先安装imagick拓展1{2"require":{3"ext-imagick":"*"4}5}  1publicfunctioncreateQrcode($data):void2{3//
  • 2024-05-12laravel,webman,hyperf,thinkphp推荐哪一个?
    2024年5月11日14:11:45laravelwebmanhyperfthinkphp流行程度国内流行,欧洲特别是法国,美国,日本很多使用主要在国内流行,少量国外使用主要国内流行,少量国外使用国内流行,国外俄罗斯有使用性能fpm多进程模式,性能一般,偏差同步阻塞多进程模式,性能很好web第一梯队协
  • 2024-05-06Hyperf 的AOP 面向切面编程实战
    概念AOP为 AspectOrientedProgramming 的缩写,意为:面向切面编程,通过动态代理等技术实现程序功能的统一维护的一种技术。AOP是OOP的延续,也是Hyperf中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的
  • 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-29hyperf文件上传和url函数
    2024年4月29日11:24:35配置静态资源如果您希望Swoole来管理静态资源,请在config/autoload/server.php配置中增加以下配置。return['settings'=>[...//静态资源'document_root'=>BASE_PATH.'/public','enable_sta
  • 2024-04-23Hyperf - 热更新Watcher
    首次启动,因为没有任何缓存,所以会比较慢,当二次启动时,会按照文件修改时间,进行动态收集,所以启动时间仍然比较长。Watcher组件除了解决上述启动问题,还提供了文件修改后立马重启的功能。安装composerrequirehyperf/watcher--dev配置发布配置phpbin/hyperf.phpvendor:publ
  • 2024-04-23Hyperf - windows11 使用docker搭建hyperf框架
    一、创建文件夹按自己习惯创建一个文件夹D:\workspace二、创建docker容器并搭建Hyperf1.创建Hyperf容器打开win+R输入:PowerShell进入命令页dockerrun-d--namehyperf-vD:/workspace/skeleton:/hyperf-skeleton-p9501:9501-it--privileged-uroothyperf/hype
  • 2024-04-18hyperf统一请求响应
    2024年4月18日08:48:45以下是两个方案:1,使用注解,直接返回<?phpnamespaceApp\Utils;useApp\Utils\GlobalCode;useApp\Utils\GlobalMsg;useHyperf\Contract\ContainerInterface;useHyperf\Di\Annotation\Inject;useHyperf\HttpServer\Contract\RequestInterfac
  • 2024-04-18hyperf windows使用docker搭建开发环境
    2024年4月13日23:44:16首先安装好docker注意:powershell是不支持命令换行符的dockerrun--namehyperf-vD:/code:/data-w/data-p9501:9501-it--privileged-uroothyperf/hyperf:8.1-alpine-v3.18-swoole或者使用最新版本dockerrun--namehyperf-vD:/code:/dat
  • 2024-03-04docker环境部署容器之间互通:Hyperf+MySQL
    在docker中要使Hyperf和Mysql网络互通,则需要在创建相应容器的时候指定共享网络,步骤如下:一、首先我们指定共享网络dockernetworkcreate--subnet172.18.0.1/16test  //整条命令复制执行就行不用改这个ip二、创建hyperf命令dockerrun--namehyperf-vD:\hyperf202
  • 2024-02-24composer 安装依赖包出错,使用-W 参数升级包
    使用composer安装依赖失败composerrequirefriendsofhyperf/pest-plugin-hyperf--dev提示信息:Usetheoption--with-all-dependencies(-W)toallowupgrades,downgradesandremovalsforpackagescurrentlylockedtospecificversions.Youcanalsotryre-runni
  • 2024-01-14hyperf 3.1安装和配置php-zookeeper扩展
    Hyperf提供了分布式系统的外部化配置支持,默认适配了:由携程开源的 ctripcorp/apollo,由 hyperf/config-apollo 组件提供功能支持。阿里云提供的免费配置中心服务 应用配置管理(ACM,ApplicationConfigManager),由 hyperf/config-aliyun-acm 组件提供功能支持。ETCDNac
  • 2024-01-05全解在Hyperf中避免进程残留的问题
    进程残留问题的原因进程资源未释放进程残留问题的原因主要是由于进程在运行过程中未能正确释放所占用的资源。这可能是由于代码逻辑错误、异常退出、资源管理不当等原因引起的。具体来说,进程资源未释放可能包括但不限于各种文件句柄、数据库连接、网络连接等。当这些资源没有被及时
  • 2023-12-14全解在Hyperf中避免进程残留的问题
    进程残留问题的原因进程资源未释放进程残留问题的原因主要是由于进程在运行过程中未能正确释放所占用的资源。这可能是由于代码逻辑错误、异常退出、资源管理不当等原因引起的。具体来说,进程资源未释放可能包括但不限于各种文件句柄、数据库连接、网络连接等。当这些资源没有被及时
  • 2023-07-20hyperf 创建 JSON RPC 服务
    JSONRPC服务hyperf框架为PHP打开了微服务的大门,而服务之间相互调用,又以RPC为基础。所以这个章节非常重要。但官方文档还是有些坑的,我以前就在这儿踩过坑。这里省略了接口类,只保留最主要的部分。 安装依赖composerrequirehyperf/json-rpccomposerrequirehyperf/rp