php
quweiie
持之以恒
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
stripe支付(外贸独立站)
本文基于CentOS Stream 9、ThinkPHP 8.1与PHP 8.4环境,实现一个基于Stripe沙盒的在线支付演示系统。前端采用HTML5与ES6+特性,结合Stripe Checkout收银台完成测试支付;后端通过ThinkPHP封装Stripe SDK,实现支付会话创建、订单状态查询及Webhook回调处理。项目使用受限密钥与whsec_签名密钥保障安全,支持测试卡(4242...)模拟支付流程,所有操作均为沙盒环境,不产生真实扣款。原创 2026-10-20 09:12:04 · 157 阅读 · 0 评论 -
阿里云视频点播+thinkphp8上传视频(一)
本文基于ThinkPHP8.1与PHP8.3/8.4环境,实现阿里云视频点播上传功能。前端使用VOD SDK 2.0.0,结合HTML5文件选择、进度显示与断点续传;后端通过阿里云SDK调用CreateUploadVideo和RefreshUploadVideo接口获取上传凭证,支持MP4、MOV等格式视频上传。系统具备上传状态管理、取消上传、复制VideoId及错误处理机制,完整实现安全、高效的视频上传流程。原创 2026-10-12 17:41:14 · 113 阅读 · 0 评论 -
tp8结合Intervention Image(libvips)生成缩略图
libvips结合PHP 8.3 FFI实现高效低内存图像处理,性能超越GD与Imagick。通过Intervention Image配合vips-driver,可轻松实现等比缩放、WebP编码等操作。本文演示了使用libvips在Laravel中按高度缩放图片并保存为高质量JPEG的完整流程,具备高效率、低资源占用优势,适用于大图处理场景。原创 2026-10-05 17:37:52 · 209 阅读 · 0 评论 -
Debian 13 / 宝塔 PHP 8.3开启 FFI 完整实战教程
在Debian13宝塔环境(PHP 8.3.31)下,通过复用现有源码目录/www/server/php/83/src/ext/ffi,使用phpize与php-config精准匹配编译环境,独立编译生成ffi.so扩展。经验证libffi-dev已安装且配置正确,无需重编整套PHP。编译后将ffi.so安装至扩展目录,修改php.ini启用extension=ffi及ffi.enable=true,最终在CLI与PHP-FPM中均成功加载并验证FFI功能,实现无侵入式扩展集成。原创 2026-10-05 17:29:44 · 267 阅读 · 0 评论 -
debian13安装meson和libvips
在Debian13上通过源码编译安装Meson1.7.0、Ninja1.12.1及GCC14.2.0,配置前缀为/usr/local。使用Meson构建libvips 8.18.7,指定--prefix=/usr/local --libdir=lib --buildtype=release,确保vips命令位于/usr/local/bin,动态库在/usr/local/lib,并支持多种图像格式。原创 2026-10-05 17:10:00 · 207 阅读 · 0 评论 -
thinkphp8模版的应用小技巧1
该页面使用Layui 2.13框架实现单行选择框,通过PHP获取分类数据并动态渲染下拉选项。后端通过Db::name('category')->select()查询分类列表,传入视图并指定选中项(categoryID=4),前端采用foreach与eq标签实现选项遍历及选中状态绑定,确保页面加载时正确显示默认选项。原创 2026-10-05 09:21:09 · 16 阅读 · 0 评论 -
宝塔里配置node及laravel安装
宝塔里安装node.js及laravel/installer后,在终端里通过laravel安装项目;原创 2026-09-25 11:28:59 · 180 阅读 · 0 评论 -
腾讯云视频点播-web上传视频
腾讯云视频点播服务-web端上传视频演示原创 2026-08-26 16:51:47 · 152 阅读 · 0 评论 -
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 · 276 阅读 · 0 评论 -
thinkphp8结合jwt与微信小程序接口鉴权
本文介绍了基于ThinkPHP8框架的微信小程序登录与JWT认证实现方案原创 2026-07-15 07:24:16 · 343 阅读 · 0 评论 -
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 · 338 阅读 · 0 评论 -
php8.3安装扩展的新方法
本文介绍了从传统pecl安装PHP扩展转向现代化PIE工具的完整流程。针对Debian13环境下gh版本过低问题,提供了详细的gh升级方案:通过官方源安装2.49+版本。特别说明大陆服务器可本地下载pie.phar后上传安装,并给出安装验证步骤。最后以安装phpredis 6.3为例演示PIE用法,强调安装后需重载PHP配置才能生效。全文包含具体命令和路径参考,涵盖从环境准备、工具安装到实际应用的全过程,重点关注版本兼容性和中国地区特殊网络情况的解决方案。原创 2026-07-13 09:13:38 · 305 阅读 · 0 评论 -
layui2.12版本,table中switch开关的应用实践总结
本文介绍了Layui 2.12版本中表格组件的应用示例。通过定义模板脚本实现状态切换开关功能,包含正常/禁用两种状态显示。当开关状态变化时,使用form.on监听事件,获取当前行数据并发送AJAX请求到后台接口更新状态。文中还提到Layui内置jQuery 3.7版本,并分享了清除缓存、处理JSON数据等实用技巧。该示例展示了Layui表格与表单元素结合使用的典型场景,为开发者提供了状态切换功能的实现参考。原创 2026-05-10 15:15:27 · 117 阅读 · 0 评论 -
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 · 148 阅读 · 0 评论 -
在php8.3下签到、签退打卡的实现
本文介绍了一个通用的签到/签退方法,基于PHP8.3和Carbon时间库实现。方法接收打卡类型('in'或'out')、规则签到和签退时间作为参数。使用Carbon处理时间计算,通过match语句简化逻辑判断,返回迟到/早退分钟数及状态描述。若打卡类型错误则返回400状态码,成功则返回200状态码及相关打卡数据。该方法可准确计算员工考勤状态,支持灵活的时间规则配置。原创 2026-03-23 19:29:41 · 214 阅读 · 0 评论 -
thinkphp8.0调用存储过程的
本文介绍了在ThinkORM4.0中调用存储过程的正确方法。通过Db::connect()建立连接后,使用prepare方法准备调用存储过程sp_task_user_check_list,并通过bindValue绑定参数(包括整型和字符串类型)。执行execute后获取结果集,最后必须调用closeCursor关闭游标,否则会导致后续Db构造器报错。这段代码展示了ThinkORM4.0中调用存储过程的关键技巧,特别强调了游标关闭的重要性。原创 2026-03-11 22:33:35 · 118 阅读 · 0 评论 -
debian 13安装rabbitMQ4.2.x
本文介绍了在Linux系统上安装和配置RabbitMQ消息队列服务的完整过程。首先通过apt-get安装必要的依赖工具,然后添加RabbitMQ官方仓库的GPG密钥和软件源。接着安装Erlang运行环境及RabbitMQ服务器组件,并启动服务。最后创建管理员账户(用户名"admin",密码"123"),赋予管理员权限,并设置对所有虚拟主机的完全配置、写入和读取权限。整个流程涵盖了从软件安装到基本用户管理的完整配置步骤。原创 2026-02-19 21:58:42 · 113 阅读 · 0 评论 -
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 · 656 阅读 · 0 评论 -
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 · 243 阅读 · 0 评论 -
thinkphp8下carbon的使用示例
本文展示了使用Carbon库进行PHP时间处理的几种常见场景:1.设置默认时区为Asia/Shanghai并本地化为中文;2.获取当前时间并格式化输出;3.计算两个时间点之间的差值;4.根据当前时间判断时间段(凌晨、早晨等);5.判断当前时间是否在指定时间范围内(用于报名/打卡等场景)。通过Carbon提供的丰富方法,可以简化日期时间操作,提高开发效率。原创 2025-12-11 20:49:11 · 264 阅读 · 0 评论 -
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 · 420 阅读 · 0 评论 -
宝塔安装postgis3.6插件的详细步骤
在宝塔里安装postgis原创 2025-12-04 20:19:58 · 638 阅读 · 0 评论 -
阿里云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 · 905 阅读 · 0 评论 -
阿里云视频点播上传获取地址和凭证
本文介绍了使用阿里云视频点播SDK上传视频的实现步骤。首先通过Composer安装SDK依赖包,然后在前端HTML中实现视频上传功能,根据videoId是否存在分别调用创建或刷新上传凭证接口。后端采用ThinkPHP8框架,通过创建Vod客户端实例,实现获取上传凭证(CreateUploadVideo)和刷新凭证(RefreshUploadVideo)两个核心方法,处理视频上传流程。文章提供了完整的代码示例,包括SDK初始化、凭证获取、异常处理等关键环节的实现细节。原创 2025-12-03 18:39:52 · 448 阅读 · 0 评论 -
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 · 468 阅读 · 0 评论 -
debian12升级cURL到8.17
debian12升级cURL到8.17最新版本,来适应微信公众号或小程序的http请求,更加现代化。原创 2025-11-21 09:24:27 · 206 阅读 · 0 评论 -
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 · 258 阅读 · 0 评论 -
thinkphp8+layui多图上传,带删除\排序功能
thinkphp+layui多图上传,带有删除、排序功能;原创 2025-10-15 19:07:56 · 424 阅读 · 0 评论 -
thinkphp8\guzzlehttp上传文件应用示例
在tp8.0下,利用guzzlehttp上传文件到指定服务器。原创 2025-07-20 11:24:34 · 534 阅读 · 0 评论 -
宝塔配置pgsql可以远程访问及pdo_pgsql扩展的安装
本地navicat如何访问远程服务器pgsql原创 2025-07-13 06:06:49 · 822 阅读 · 0 评论 -
tp8.0\jwt接口安全验证
thinkphp8,结合jwt做接口验证;原创 2025-07-12 18:16:01 · 616 阅读 · 0 评论 -
thinkphp8.0 级联删除的使用技巧
tp8使用Db构造器实现级联删除的技巧;原创 2025-07-05 09:53:50 · 219 阅读 · 0 评论 -
thinkphp8.0七牛云直传图片
thinkphp 七牛云上传图片原创 2025-07-02 13:41:03 · 471 阅读 · 0 评论 -
thinkphp8微信支付时,金额的精度处理
摘要:代码片段展示了处理支付金额的流程。首先将前端传入的金额转为浮点数,然后使用bcmul函数乘以100转换为分单位(字符串类型),最后强制转换为整数类型以确保符合微信支付接口要求。该过程严格把控金额精度和类型转换,防止支付金额出现误差。核心步骤包括:float类型转换、bcmul精确乘法运算和最终整型强制转换。原创 2025-06-27 17:19:01 · 228 阅读 · 0 评论 -
thinkphp8.0后台运行实操
摘要:针对调用第三方接口存储上万条数据时浏览器端超时的问题,采用ThinkPHP8自定义指令在服务器端异步处理。创建了多应用模式的hello命令,通过GuzzleHttp获取广告主资金数据并批量入库,避免浏览器超时。使用CentOS Stream9的nohup命令持久运行任务(phpthink hello quwei),将日志输出到runtime/hello.log。区别于宝塔的计划任务/进程守护,该方法避免了数据重复问题,实现了稳定的大批量数据异步处理。原创 2025-06-17 07:30:22 · 597 阅读 · 0 评论 -
thinkphp8.1 调用巨量广告API接口,刷新token
通过tp8.1访问巨量广告API接口,获取访问令牌;原创 2025-06-05 19:48:49 · 850 阅读 · 0 评论 -
mongodb管理工具的使用
navicat 链接mongodb原创 2025-05-18 09:32:31 · 552 阅读 · 0 评论 -
thinkphp8微信商家转账到微信用户零钱钱包
微信商家转账到个人原创 2025-04-14 11:49:46 · 920 阅读 · 0 评论 -
thinkphp8.0微信扫码支付(v2)
微信扫码支付php版原创 2025-04-14 10:12:18 · 574 阅读 · 0 评论 -
thinkphp8.0上传图片到阿里云对象存储(oss)
thinkphp8.0上传文件到阿里云对象存储原创 2025-04-05 22:15:52 · 935 阅读 · 0 评论
分享