自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(291)
  • 收藏
  • 关注

原创 腾讯云视频点播-web上传视频

腾讯云视频点播服务-web端上传视频演示

2026-08-26 16:51:47 125

原创 tp8使用rabbitMQ消息队列的示例

本文介绍了在ThinkPHP8.1框架下集成RabbitMQ的完整实现方案。主要内容包括:1) 使用Composer官方源安装php-amqplib 3.7.4;2) 配置RabbitMQ连接参数;3) 创建RabbitMQ服务类封装连接、发送消息等功能;4) 实现控制器接口接收并发送消息到队列;5) 开发命令行消费者处理队列消息,包含消息确认、异常处理和JSON解析等功能。方案采用多应用模式,提供了完整的配置示例和业务代码,实现了消息生产消费全流程,并考虑了连接管理、异常处理等细节问题。

2026-07-20 08:59:49 257

原创 thinkphp8结合jwt与微信小程序接口鉴权

本文介绍了基于ThinkPHP8框架的微信小程序登录与JWT认证实现方案

2026-07-15 07:24:16 320

原创 thinkphp8框架的消息队列应用

本文介绍如何使用ThinkPHP8.1框架的think-queue3.0.12实现微信小程序订单15分钟未支付自动取消功能。文章详细讲解了从环境准备到代码实现的完整流程,包括:1) 数据库表设计(订单表和库存表);2) think-queue安装配置;3) 下单时库存锁定逻辑;4) 延迟队列任务处理未支付订单;5) 支付成功回调处理;6) 宝塔环境部署注意事项。重点说明了如何使用Redis队列实现延迟任务,并通过事务保证数据一致性,同时解决了高并发下的超卖问题。文章还对比了queue:work和queue:

2026-07-13 16:31:55 297

原创 php8.3安装扩展的新方法

本文介绍了从传统pecl安装PHP扩展转向现代化PIE工具的完整流程。针对Debian13环境下gh版本过低问题,提供了详细的gh升级方案:通过官方源安装2.49+版本。特别说明大陆服务器可本地下载pie.phar后上传安装,并给出安装验证步骤。最后以安装phpredis 6.3为例演示PIE用法,强调安装后需重载PHP配置才能生效。全文包含具体命令和路径参考,涵盖从环境准备、工具安装到实际应用的全过程,重点关注版本兼容性和中国地区特殊网络情况的解决方案。

2026-07-13 09:13:38 286

原创 经纬度坐标转换

浏览器定位通常来自设备定位服务,不能仅根据浏览器返回值, 绝对判断它已经属于 GCJ-02。用于签到、围栏、距离判断时, 应明确前端地图服务和接口坐标标准,并由后端重新校验。

2026-07-11 07:39:40 569

原创 利用es2024新特性,图片压缩及上传

本文介绍了在微信内置浏览器中实现图片压缩上传的解决方案。针对移动端大图片(5M以上)上传的需求,提出三步处理流程:1)利用H5新特性实现前端图片处理;2)兼容微信浏览器内核,支持ES新语法并适配低版本浏览器;3)后端接收压缩后的图片保存。核心代码通过Canvas进行图片压缩,采用二分法动态调整质量参数(0.45-0.86)和逐步缩小分辨率(缩放比例从0.9降至0.4),最终将图片转换为WebP格式并控制在5MB以内。方案包含图片预览、格式校验、大小计算和上传功能,特别处理了浏览器兼容性问题,确保在微信环境下

2026-07-04 08:33:48 76

原创 layui2.12版本,table中switch开关的应用实践总结

本文介绍了Layui 2.12版本中表格组件的应用示例。通过定义模板脚本实现状态切换开关功能,包含正常/禁用两种状态显示。当开关状态变化时,使用form.on监听事件,获取当前行数据并发送AJAX请求到后台接口更新状态。文中还提到Layui内置jQuery 3.7版本,并分享了清除缓存、处理JSON数据等实用技巧。该示例展示了Layui表格与表单元素结合使用的典型场景,为开发者提供了状态切换功能的实现参考。

2026-05-10 15:15:27 98

原创 thinkphp8生成海报

本文介绍了一个基于CentOS Stream 9、PHP 8.3和ThinkPHP 8.1环境的海报生成系统实现方案。系统使用Intervention/Image库进行图像处理,主要功能包括:1) 通过createQrCode方法生成指定内容的二维码;2) 通过createCircleAvatar方法将远程头像处理为圆形;3) 使用addNicknameText方法添加用户昵称文字。核心流程整合背景图、二维码、圆形头像和文字信息,最终输出为WebP格式图片。

2026-05-07 15:53:17 130

原创 在php8.3下签到、签退打卡的实现

本文介绍了一个通用的签到/签退方法,基于PHP8.3和Carbon时间库实现。方法接收打卡类型('in'或'out')、规则签到和签退时间作为参数。使用Carbon处理时间计算,通过match语句简化逻辑判断,返回迟到/早退分钟数及状态描述。若打卡类型错误则返回400状态码,成功则返回200状态码及相关打卡数据。该方法可准确计算员工考勤状态,支持灵活的时间规则配置。

2026-03-23 19:29:41 204

原创 thinkphp8.0调用存储过程的

本文介绍了在ThinkORM4.0中调用存储过程的正确方法。通过Db::connect()建立连接后,使用prepare方法准备调用存储过程sp_task_user_check_list,并通过bindValue绑定参数(包括整型和字符串类型)。执行execute后获取结果集,最后必须调用closeCursor关闭游标,否则会导致后续Db构造器报错。这段代码展示了ThinkORM4.0中调用存储过程的关键技巧,特别强调了游标关闭的重要性。

2026-03-11 22:33:35 115

原创 debian 13安装rabbitMQ4.2.x

本文介绍了在Linux系统上安装和配置RabbitMQ消息队列服务的完整过程。首先通过apt-get安装必要的依赖工具,然后添加RabbitMQ官方仓库的GPG密钥和软件源。接着安装Erlang运行环境及RabbitMQ服务器组件,并启动服务。最后创建管理员账户(用户名"admin",密码"123"),赋予管理员权限,并设置对所有虚拟主机的完全配置、写入和读取权限。整个流程涵盖了从软件安装到基本用户管理的完整配置步骤。

2026-02-19 21:58:42 100

原创 centOS stream 9 安装rabbitMQ4.2

在CentOS Stream 9上安装RabbitMQ的推荐方法是使用官方Yum仓库。首先需导入RabbitMQ和Erlang的签名密钥,然后在/etc/yum.repos.d/目录下创建rabbitmq.repo配置文件。安装前需先安装Erlang,然后执行dnf install -y erlang rabbitmq-server安装RabbitMQ。安装完成后,通过systemctl启用并启动RabbitMQ服务。要启用管理面板,运行rabbitmq-plugins enable rabbitmq_ma

2026-01-01 10:51:43 636

原创 thinkphp阿里云获取企业银行开户许可证识别

本文介绍了如何在PHP8.3+ThinkPHP8.0环境下使用阿里云OCR API识别银行账户许可证。通过composer安装alibabacloud/ocr-api-20210707 3.1.3包后,创建Ocr类处理识别请求。核心代码包括:1)配置客户端信息;2)发送识别请求并获取响应;3)处理响应数据,提取银行账号、开户行、公司名称和法人等关键字段。文章还展示了异常处理方式,当识别失败时返回错误信息。最后测试验证了该方案的可行性。

2025-12-22 13:07:28 237

原创 thinkphp8下carbon的使用示例

本文展示了使用Carbon库进行PHP时间处理的几种常见场景:1.设置默认时区为Asia/Shanghai并本地化为中文;2.获取当前时间并格式化输出;3.计算两个时间点之间的差值;4.根据当前时间判断时间段(凌晨、早晨等);5.判断当前时间是否在指定时间范围内(用于报名/打卡等场景)。通过Carbon提供的丰富方法,可以简化日期时间操作,提高开发效率。

2025-12-11 20:49:11 243

原创 debian 12安装postgis3.6

在Debian12系统上安装PostGIS 3.6需要先升级GEOS到3.14版本。首先卸载旧版GEOS,然后下载源码编译安装。安装依赖后,下载PostGIS 3.6源码,配置时指定PostgreSQL路径,编译并安装。最后在数据库中创建PostGIS扩展并验证版本。主要步骤包括:卸载旧GEOS、编译安装GEOS 3.14、安装PostGIS依赖、配置PostGIS编译选项、安装PostGIS扩展。安装完成后可通过SQL查询验证版本信息。

2025-12-05 09:25:53 414

原创 宝塔安装postgis3.6插件的详细步骤

在宝塔里安装postgis

2025-12-04 20:19:58 594 1

原创 阿里云oss,通过html直接上传

本文介绍了基于ThinkPHP8.1框架实现阿里云OSS V4签名直传文件的方法。前端通过表单提交文件,使用fetch API获取后端生成的签名信息后直接上传至OSS。后端主要实现两个功能:1) 通过阿里云STS服务获取临时凭证,并使用HMAC-SHA256算法生成OSS V4签名;2) 处理OSS回调验证。系统采用前后端分离架构,前端负责文件选择和直传,后端负责签名生成和安全验证,实现了安全高效的文件上传方案,适用于CentOS Stream9/PHP8.3环境。

2025-12-03 20:49:19 882

原创 阿里云视频点播上传获取地址和凭证

本文介绍了使用阿里云视频点播SDK上传视频的实现步骤。首先通过Composer安装SDK依赖包,然后在前端HTML中实现视频上传功能,根据videoId是否存在分别调用创建或刷新上传凭证接口。后端采用ThinkPHP8框架,通过创建Vod客户端实例,实现获取上传凭证(CreateUploadVideo)和刷新凭证(RefreshUploadVideo)两个核心方法,处理视频上传流程。文章提供了完整的代码示例,包括SDK初始化、凭证获取、异常处理等关键环节的实现细节。

2025-12-03 18:39:52 422

原创 thinkphp8.0链接SQL SERVER2022数据库

本文介绍在WinServer2016+PHP8.3+SQLServer2022环境下配置PDO连接SQLServer的步骤:1)安装x64版非线程安全驱动php_pdo_sqlsrv_83_nts_x64.dll;2)开启SQLServer的TCP/IP协议和1433端口并重启服务;3)开放防火墙1433端口;4)修改ThinkPHP的database.php配置文件,设置数据库类型为sqlsrv,配置本地连接参数。完成以上步骤即可实现PHP与SQLServer的连接。

2025-11-26 21:25:03 453

原创 debian12升级cURL到8.17

debian12升级cURL到8.17最新版本,来适应微信公众号或小程序的http请求,更加现代化。

2025-11-21 09:24:27 181

原创 centOS stream 9 升级cURL到8.17版本

为解决CentOS Stream 9系统中cURL 7.66版本过低导致微信API请求失败的问题,编写了自动化升级脚本。该脚本通过源码编译方式安装cURL 8.17.0,支持OpenSSL和HTTP/2协议。主要步骤包括:安装开发工具和依赖库、下载并解压cURL源码、配置编译参数、构建安装,最后验证版本并重启PHP-FPM服务。脚本执行后成功升级cURL版本,解决了微信开发接口的兼容性问题。

2025-11-21 09:03:55 243

原创 layuiadmin2.7版本,iframe版打开新标签页

layuiadmin-iframe版,打开新的标签页

2025-11-08 21:41:20 662

原创 thinkphp8+layui多图上传,带删除\排序功能

thinkphp+layui多图上传,带有删除、排序功能;

2025-10-15 19:07:56 414

原创 thinkphp8\guzzlehttp上传文件应用示例

在tp8.0下,利用guzzlehttp上传文件到指定服务器。

2025-07-20 11:24:34 517

原创 宝塔配置pgsql可以远程访问及pdo_pgsql扩展的安装

本地navicat如何访问远程服务器pgsql

2025-07-13 06:06:49 758 1

原创 tp8.0\jwt接口安全验证

thinkphp8,结合jwt做接口验证;

2025-07-12 18:16:01 606

原创 thinkphp8.0 级联删除的使用技巧

tp8使用Db构造器实现级联删除的技巧;

2025-07-05 09:53:50 218

原创 thinkphp8.0七牛云直传图片

thinkphp 七牛云上传图片

2025-07-02 13:41:03 461

原创 thinkphp8微信支付时,金额的精度处理

摘要:代码片段展示了处理支付金额的流程。首先将前端传入的金额转为浮点数,然后使用bcmul函数乘以100转换为分单位(字符串类型),最后强制转换为整数类型以确保符合微信支付接口要求。该过程严格把控金额精度和类型转换,防止支付金额出现误差。核心步骤包括:float类型转换、bcmul精确乘法运算和最终整型强制转换。

2025-06-27 17:19:01 226

原创 thinkphp8.0后台运行实操

摘要:针对调用第三方接口存储上万条数据时浏览器端超时的问题,采用ThinkPHP8自定义指令在服务器端异步处理。创建了多应用模式的hello命令,通过GuzzleHttp获取广告主资金数据并批量入库,避免浏览器超时。使用CentOS Stream9的nohup命令持久运行任务(phpthink hello quwei),将日志输出到runtime/hello.log。区别于宝塔的计划任务/进程守护,该方法避免了数据重复问题,实现了稳定的大批量数据异步处理。

2025-06-17 07:30:22 589

原创 thinkphp8.1 调用巨量广告API接口,刷新token

通过tp8.1访问巨量广告API接口,获取访问令牌;

2025-06-05 19:48:49 827

原创 mongodb管理工具的使用

navicat 链接mongodb

2025-05-18 09:32:31 546

原创 python读取excel写入mysql

python读取excel写入mysql

2025-05-15 07:06:08 537

原创 thinkphp8微信商家转账到微信用户零钱钱包

微信商家转账到个人

2025-04-14 11:49:46 908

原创 thinkphp8.0微信扫码支付(v2)

微信扫码支付php版

2025-04-14 10:12:18 563

原创 thinkphp8.0上传图片到阿里云对象存储(oss)

thinkphp8.0上传文件到阿里云对象存储

2025-04-05 22:15:52 927

原创 thinkphp8.0上传图片到腾讯云对象存储(cos)

thinkphp8.0上传图片到腾讯云对象存储

2025-04-05 21:58:25 546

原创 php写入\查询influxdb数据

php写入、查询influxdb数据

2025-03-25 17:14:07 594

原创 influxdb在centOS stream 9安装教程

influxdb在centOS stream 9上的安装教程

2025-03-25 16:37:33 578

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除