程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
软件定制开发/软件按需定制 技术文章
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
微信支付分账:漏传 profit_sharing 就永远分不了,unfreeze_unsplit 传了钱还冻着
代码
微信支付分账:漏传 profit_sharing 就永远分不了,unfreeze_unsplit 传了钱还冻着
2026-10-28 09:01:26
平台型业务要在收款后拆钱给供应商、分销。本文按资金流顺序拆微信支付分账的五个硬默认值:下单漏传 profit_sharing 事后无法补分;可分金额是扣手续费后的净额且受默认 30% 比例限制;30 天冻结期过期自动解冻;unfreeze_unsplit 传了仍冻结时要换新的分账单号调解冻接口;state=FINISHED 不等于分账成功,要看 receivers[].result。另含分账回退的六个前提(个人接收方不可回退、180 天时效、余额不足原单重试)、建表与 Go 片段、QPS 口径与排查清单。
微信支付
分账
profit_sharing
分账回退
APIv3
支付对接
资金冻结
MySQL 9.7 升级前先清账号:native_password 在 9.0 就没了,原地回滚也不行
编程
MySQL 9.7 升级前先清账号:native_password 在 9.0 就没了,原地回滚也不行
2026-10-28 00:05:38
8.4 升 9.7 最常见的翻车不在服务器启动,而在账号:mysql_native_password 从 9.0.0 起已从服务端移除,hash 无法换算只能重设密码,JDBC/Go 非 TLS 连接还要处理公钥交换。同时 9.7 降回 8.4 只支持逻辑导出或复制回滚,不能原地换二进制,给升级前的检查清单与回滚约束。
MySQL9.7
MySQL
认证插件
caching_sha2_password
LTS升级
数据库迁移
yt-dlp 报 403、只下到音轨、分片超时:从 TLS 指纹到 JS 运行时的分层排查
编程
yt-dlp 报 403、只下到音轨、分片超时:从 TLS 指纹到 JS 运行时的分层排查
2026-10-28 00:04:53
yt-dlp 的报错往往只给结果不给原因。按失败形态分四类排查:403 与 TLS 指纹(curl_cffi impersonation,注意 zipimport 版和 32 位 Windows 版不带它)、缺 JS 运行时导致拿不到高清晰度、ffmpeg 二进制缺失导致无法合流与切片、-N 与 --downloader 的分工,以及 --throttled-rate 与 --retry-sleep 的用法。
下载工具
yt-dlp
ffmpeg
curl
Shell
Argon2id 参数别照抄默认值:64 MiB 乘 40 个 worker 就 OOMKill,PHP 与 Go 的实现差异
编程
Argon2id 参数别照抄默认值:64 MiB 乘 40 个 worker 就 OOMKill,PHP 与 Go 的实现差异
2026-10-28 00:04:46
Argon2id 的 m/t/p 不是填个 19 MiB 就完事:m 是 KiB 且按 worker 数相乘、p 不乘内存,PHP 8.x 默认 64 MiB/t=4 乘上 pm.max_children 就能把容器 OOMKill。含内存预算公式、PHP 与 Go x/crypto/argon2 的实现差异(取整、panic、threads 在 libsodium 下失效、needs_rehash 要传 options)、可跑的 benchmark 脚本与 bcrypt 迁移路径。
密码哈希
Argon2id
PHP
Go
安全
PHPStan 2.2:array{a:int} 开始真的密封,array<string,X> 的键会被收窄成 int|string
编程
PHPStan 2.2:array{a:int} 开始真的密封,array<string,X> 的键会被收窄成 int|string
2026-10-28 00:04:44
PHPStan 2.2(2026-05-28)给数组形状加了未封闭语法 ...,并新增 non-decimal-int-string 类型与 reportUnsafeArrayStringKeyCasting 三档配置,解决「array<string,X> 运行时冒出 int 键」的长期误判。文中给出复现代码、报错原文、交叉运算结果表、bleeding edge 下密封形状的三种拒绝提示与 composer 升级顺序。
PHPStan
PHP
静态分析
数组
类型系统
退出码 0,测试数从 412 掉到 380:skip 为什么不算 PASS
编程
退出码 0,测试数从 412 掉到 380:skip 为什么不算 PASS
2026-10-28 00:03:58
CI 退出码 0、测试数却从 412 掉到 380:skip 被当成了 pass。对照 Go 的 t.Skip 与 go test -skip、PHPUnit 的 markTestSkipped / --fail-on-skipped、pytest 的 skipif 与 xfail strict、node:test、Playwright test.skip、Rust #[ignore],划清「无法执行」与「执行了但坏了」的界线,并给出让 CI 对新增 skip 变红的具体配置。
skip
测试
pytest
PHPUnit
Go
CI
aria2c -x 16 还是单连接:-k 默认 20M,40MiB 以下根本不切分
编程
aria2c -x 16 还是单连接:-k 默认 20M,40MiB 以下根本不切分
2026-10-28 00:03:50
aria2c 传了 -x 16 还是一个连接在跑,通常不是参数写错:-k 默认 20M 意味着 40MiB 以下文件不切分;-x 是每服务器每文件上限(默认 1)、-s 才是分片数(默认 5),只给一个都无效;服务端不回 206 就退回单连接。附 curl -C -、wget -c 的续传前提、wget2 多线程与 yt-dlp 外部下载器用法。
下载工具
aria2
curl
wget
yt-dlp
5500 个 WordPress 站点里每个 PHP-FPM worker 600MB:一次被当成 DDoS 的 OPcache bug 排障
案例
5500 个 WordPress 站点里每个 PHP-FPM worker 600MB:一次被当成 DDoS 的 OPcache bug 排障
2026-10-27 21:32:25
5500 个 WordPress 站点共用一块 OPcache,每次 Yoast 更新后的 opcache_reset 都在放大 php-src #23859 里的 map_ptr 共享计数,新 worker 从第一个请求起就占 600MB,OOM-killer 轮流杀数据库和 nginx。本文还原用 cgi-fcgi 探针和 /proc/smaps 定位匿名段的过程,以及 restrict_api、process_control_timeout 等缓解手段。
OPcache
PHP-FPM
内存排查
OOM
WordPress
排障案例
PHP 8.6 部分函数应用:用 ? 和 ... 预填参数,以及何时该用箭头函数
编程
PHP 8.6 部分函数应用:用 ? 和 ... 预填参数,以及何时该用箭头函数
2026-10-27 21:32:01
PHP 8.6 的部分函数应用(PFA)用 ? 和 ... 占位符把部分参数先填好,返回一个签名完整的闭包。本文按占位符语义、命名参数重排、可变参数、提前求值、不支持 new、与管道操作符的编译期优化逐条说明,并给出何时该写 PFA、何时仍应写箭头函数的取舍。
PHP
8.6
部分函数应用
闭包
管道操作符
RFC
PHP 8.6 给 stream 加上 TLS 会话复用与 0-RTT:高频调用第三方 HTTPS 时能省掉一次完整握手
编程
PHP 8.6 给 stream 加上 TLS 会话复用与 0-RTT:高频调用第三方 HTTPS 时能省掉一次完整握手
2026-10-27 21:06:47
PHP 8.6 给 stream 补上 TLS 会话复用、外部 PSK 与 TLS 1.3 早数据。按客户端会话缓存、服务端会话存储、0-RTT 三组讲清上下文选项与 0-RTT 结果的读取方式,并说明 0-RTT 可被重放、只能放幂等请求。
PHP
TLS
接口对接
PHP 8.6 的 Stream 错误 API:stream 层的 warning 终于能直接拿到了
编程
PHP 8.6 的 Stream 错误 API:stream 层的 warning 终于能直接拿到了
2026-10-27 21:05:59
PHP 8.6 把 stream 层错误变成结构化状态:StreamError/StreamException、stream_last_errors()、error_mode/error_store/error_handler 三个上下文选项,另有 filter.max_filter_count 与 socket 的 keepalive、linger、缓冲区选项。
PHP
语言特性
流与网络
Git 2.52 maintenance.geometric:大仓库怎么绕开「50 个 packfile 就 all-into-one」
综合
Git 2.52 maintenance.geometric:大仓库怎么绕开「50 个 packfile 就 all-into-one」
2026-10-27 21:05:18
git gc 在 packfile 超过 50 个时会把所有 pack 合成一个,大 monorepo 里这一下就是几十分钟。Git 2.52 的 geometric 策略改成按对象数等比合并、只在必要时退回全量 gc,顺带整理 git repo info、sparse-checkout clean 等新命令。
Git
运维
工具链
Percona Server 与 MySQL 官方版 thread pool 实测:2560 连接下 371 对 122 TPS,buffer pool 32G 后结论反转
综合
Percona Server 与 MySQL 官方版 thread pool 实测:2560 连接下 371 对 122 TPS,buffer pool 32G 后结论反转
2026-10-27 21:04:23
同源的 thread pool,在两套实现里表现完全不同。实测数据说明:数据集放不进 buffer pool 时 Percona 更快,能完全缓存时 MySQL 反超;2560 连接下 pool 把 TPS 从 122 拉到 371,低并发时则没有收益。
MySQL
性能测试
运维
微信支付 APIv3 支付成功回调:4 个验签头、5 秒应答和那张 15 次重试表
代码
微信支付 APIv3 支付成功回调:4 个验签头、5 秒应答和那张 15 次重试表
2026-10-27 21:04:23
微信支付 APIv3 回调的落地清单:四个验签头怎么拼串、Wechatpay-Serial 的 PUB_KEY_ID_ 前缀区别、5 秒应答与 15 次重试间隔、SIGNTEST 探测流量、代理过滤扩展头、resource 解密,附应答代码骨架。
支付接口
微信支付
PHP
MySQL 指标报出异常后:从 OpenTelemetry 面板走到 Performance Schema 证据
综合
MySQL 指标报出异常后:从 OpenTelemetry 面板走到 Performance Schema 证据
2026-10-27 21:03:27
仪表盘只能告诉你「有变化」,根因还得回 MySQL 收证据。给出一张症状到证据的对照表,以及从行锁等待指标到 data_lock_waits、再到当前 SQL 的两步查询,顺带列出五个常见的排查错误。
MySQL
运维
监控
常量里的对象能直接改属性了:PHP 8.6 两处写入规则改动与它们的误用风险
编程
常量里的对象能直接改属性了:PHP 8.6 两处写入规则改动与它们的误用风险
2026-10-27 21:03:27
PHP 8.6 允许改写常量里那个对象的属性,也让 readonly 属性可以带默认值。两个改动都只是松了写入语法,没松语义:常量依旧不能重新绑定,readonly 依旧只初始化一次。文中给出边界、示例代码,以及全局可变状态和测试污染这两个实际问题。
PHP
语言特性
代码质量
finally 里 return、is_long、spl_object_hash:PHP 8.6 弃用清单里最该先清理的几类调用
编程
finally 里 return、is_long、spl_object_hash:PHP 8.6 弃用清单里最该先清理的几类调用
2026-10-27 21:02:28
PHP 8.6 只报 deprecated、9.0 才移除,但这类改动会在升级时一次全撞上。挑了 finally 里 return、is_long/is_double 别名、spl_object_hash、SORT_LOCALE_STRING、SplFileObject 的 CSV 方法等几条,给替代写法和 grep 排查命令。
PHP
版本升级
代码迁移
Go 1.28 计划引入的泛型集合:set.Set、hash.Map、tree.Map 分别补上哪种能力,抽象接口为何暂不导出
编程
Go 1.28 计划引入的泛型集合:set.Set、hash.Map、tree.Map 分别补上哪种能力,抽象接口为何暂不导出
2026-10-27 21:01:38
Go Collections 工作组的伞形提案把泛型集合排进 Go 1.28:规范 set.Set、哈希 Map/Set、树形有序 Map、泛型堆,外加给存量 map[T]bool 的过渡包。逐个说清各自补什么、-With 后缀的取舍,以及抽象接口为何只做文档不导出。
Go
标准库
泛型
string(65) 在 Go 1.28 语言版本下编译失败:用 -lang 复现并迁移到 strconv.Itoa 或 string(rune(n))
编程
string(65) 在 Go 1.28 语言版本下编译失败:用 -lang 复现并迁移到 strconv.Itoa 或 string(rune(n))
2026-10-27 21:01:38
Go 1.28 语言版本收窄了整数到字符串的转换:string(int) 直接编译失败,只接受 byte/rune。用 go tool compile -lang 复现报错原文,再按调用点区分 strconv.Itoa 与 string(rune(n)) 两种迁移写法。
Go
版本升级
编译错误
CA 中间证书私钥泄漏:Go 把黑名单编进 crypto/x509,旧二进制必须重新编译
资讯
CA 中间证书私钥泄漏:Go 把黑名单编进 crypto/x509,旧二进制必须重新编译
2026-10-27 20:04:24
Go 1.27.3 / 1.26.10 只带一个安全修复:因某 CA 中间证书私钥泄漏(CVE-2026-111943),crypto/x509 的 Verify 会过滤掉含这批中间证书的链。黑名单编在二进制里,不是改系统根证书库,所以容器镜像和静态二进制必须重新编译。文中给出 go version -m、govulncheck -mode=binary 的核对命令,以及 Prometheus 镜像重建的做法。
Go
TLS
安全
证书
x509
connect-go v2:砍掉 Request[T] 包装,handler 回归 (*Req) (*Res, error),迁移工具还有四点改不掉
编程
connect-go v2:砍掉 Request[T] 包装,handler 回归 (*Req) (*Res, error),迁移工具还有四点改不掉
2026-10-27 20:03:15
connect-go v2 于 2026-10-07 发布,只破坏 Go API,协议仍兼容。本文按代码对照讲清五处变化:unary 签名去掉 Request[T]/Response[T] 包装、transport 拆出 connecthttp 与 connectinprocess、interceptor 合并成两个函数类型、裸 error 不再上线(只发 CodeUnknown)、metadata 移到 context 里的 CallInfo;再给出 connect-go-v2-migrate 的两遍迁移流程、buf.gen.yaml 与模块路径改动,以及工具改不掉的四个手写点。
Go
connect-go
RPC
Buf
迁移
支付宝异步通知验签一直 false:多数是二次 URLDecode 和公钥拿错
代码
支付宝异步通知验签一直 false:多数是二次 URLDecode 和公钥拿错
2026-10-27 09:01:24
支付回调验签不通过、订单一直停在待支付时,按待验签串的实际拼法逐项排查:二次 URLDecode 把 passback_params 的 %3d 解坏、alipay_public_key 拿成了应用公钥、charset 用错、空值参数与末尾换行。给出 openssl 手动验签命令、PHP/Go 验签片段,以及验签通过后仍必须做的四项业务校验、success 应答与重试节奏。
支付宝
异步通知
验签
接口对接
支付排障
RSA2
Beszel 部署排障笔记:两条连接通道、unix socket 与几处静默失败
编程
Beszel 部署排障笔记:两条连接通道、unix socket 与几处静默失败
2026-10-27 00:05:02
Beszel 的 hub/agent 双通道模型决定了排障顺序:同机部署为什么 localhost 不通、host network 与 rootless 容器丢哪些指标、FILESYSTEM/NICS/SMART 必须显式设置的值,以及反代 gzip 掐断 SSE、自签 CA、TRUSTED_AUTH_HEADER 这几个静默失败点。
Beszel
服务器监控
Docker
运维排障
Go
docker-mailserver v15 → v16:四处静默失效与升级顺序
编程
docker-mailserver v15 → v16:四处静默失效与升级顺序
2026-10-27 00:05:00
docker-mailserver 从 v15 升到 v16,基础镜像换 Debian 13、Dovecot 2.3→2.4。本文按版本分层列出四处会静默失效的地方:2.3 语法 dovecot.cf 不加载、dhparams.pem 被无声忽略、DKIM 密钥改名与 dkim_signing.conf 模板不匹配、Redis 换 Valkey 后 Rspamd Bayes 需重学,并给出升级检查清单与回滚边界。
邮件服务器
docker-mailserver
Dovecot
Rspamd
Postfix
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
2
3
4
5
6
7
…
339
下一页
共 339 页
到第
页
确定