PHP
-
Webman实战教程:基于 Lua 脚本简单限流插件
简介 为防止滥用,你应该考虑对您的 API 限流。例如,您可以限制每个用户 10 分钟内最多调用 API 100 次。如果在规定的时间内接收了一个用户大量的请求,将返回响应状态代码…
-
使用 PHP Curl 扩展进行HTTP/3请求的优化
简介 HTTP/3 是 HTTP 的第三个主要版本,基于 QUIC。与依赖 TCP 的 HTTP/1.1 和 HTTP/2 不同,HTTP/3 基于名为 QUIC 的多路复用 UD…
-
「安全系列」基于OpenSSL实现国密 SM4 加密和解密
数据加密基础概念 在互联网发展的今天,数据传输已经成为了一项非常重要的技术,并且作为一种开放的网络,几乎所有的用户都有机会参与其中。但同时,数据的安全加密问题也成为了一个非常重要的…
-
如何使用Webman框架实现Excel导入导出?
介绍 本文会介绍Webman框架中使用PhpSpreadsheet操作Excel,供大家参考。 1、简介 PhpSpreadsheet 是一个用纯PHP编写的库,提供了一组类,使您…
-
静态扫描为你的PHP项目上线保驾护航
为什么要代码静态扫描 什么是静态扫描 如下图所示,其实静态扫描的名称非常多,这里统一称之为静态扫描。静态扫描是指在不运行代码的方式下,通过词法分析、语法分析、抽象语法树分析等技术对…
-
如何使用Docker和PHPUnit在PHPStrom中配置Webman单元测试
目录结构 Cli Interpreter 设置 这里的注意点就是映射目录的配置,是一个坑 (1)Path mappings 目录配置 注意:Remote Path 是不需要配置的哦…
-
PHP-FPM+Nginx通信原理图文剖析
PHP-FPM+Nginx进程通信原理图文剖析 PHP-FPM PHP-FPM的全称是PHP FastCGI Process Manager,PHP-FPM是FastCGI的实现,…
-
如何使用PHP快速搭建个人FTP服务,实现本地文件上传与共享!
需求 1、docker容器 2、文件服务器镜像:https://hub.docker.com/r/fauria/vsftpd 3、上传脚本:ThinkPHP6 4、上传依赖库:ht…
-
如何在Linux系统中编译安装PHPRedis扩展
介绍 phpredis 是一个用 C 语言编写的 PHP 模块,用来连接并操作 Redis 数据库上的数据。扩展提供了用于与Redis键值存储进行通信的API,它是根据PHP许可版…
-
「IM系列」WebSocket实践教程:基础入门实战
之前七七八八也发过一下相关文章,但是比较乱,所以从本章节开始,进行系统性整理输出一下。——开源技术小栈 什么是 WebSocket WebSocket是一种通信协议,可在单个TCP…
-
「IM系列」WebSocket教程:私聊和群聊实现,数字化转型!
1群聊和私聊 群聊: 群聊是指在一个群组中,多个成员可以互相交流和分享信息,多人参与的聊天对话。您可以创建或加入不同的群组,与团队成员、同事或其他人进行群组讨论和协作。可以容纳多个…
-
「IM系列」WebSocket教程:心跳检测与重连机制
为什么需要心跳检测? 正常的情况客户端断开连接会向服务端发送一个fin包,服务端收到fin包后得知客户端连接断开,则立刻触发onClose事件回调。 心跳包格式:WebSocket…
-
Redis Stack 技术栈之JSON数据模型 RedisJSON
简介 RedisJSON是RedisLabs公司开发的一款用于扩展Redis的JSON处理模块,能够让Redis像处理其他类型键一样处理JSON格式的数据,相当于扩展了Redis的…
-
PHPStan :PHP静态代码质量分析工具
简介 为什么要用 PHPStan? 编译型语言需要在程序运行之前了解每个变量的类型,每个方法的返回类型。这就是为什么编译器需要确保程序是没有错误的,并且会在源码中向你指出这些类型的…
-
PHP系列 | 索引数组和关联数组转JSON区别
什么是索引数组? 索引数组是指以数字为键的数组。并且这个键值是自增的。 $indexArr = [“PHP”,”Java”,”Golang”];var_dump…
-
webman如何使用swoole事件驱动和协程?
Swoole 是什么? Swoole 是一个使用 C++ 语言编写的基于异步事件驱动和协程的并行网络通信引擎,为PHP提供协程、高性能网络编程支持。提供了多种通信协议的网络服务器和…