程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
软件定制开发/软件按需定制 技术文章 · 第17页
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
nginx 1.30.6 / 1.31.7 修复五个配置相关漏洞:先用 nginx -T 自查,再决定升级顺序
资讯
nginx 1.30.6 / 1.31.7 修复五个配置相关漏洞:先用 nginx -T 自查,再决定升级顺序
2026-10-21 21:02:17
nginx 1.30.6 与 1.31.7 修的五个漏洞全部依赖特定配置:alias 加 rewrite、map 正则捕获、AIO 加 SSI、HTTP/3 请求体、TLS 会话票据。给出 nginx -T 的逐项 grep 自查命令、每个 CVE 的暴露条件与临时缓解,以及只有 1.30/1.31 分支拿到修复这一限制。
nginx
漏洞排查
运维
CVE
MySQL 9.7.4 版本号变四段,运维脚本里那条三段正则会静默截断
编程
MySQL 9.7.4 版本号变四段,运维脚本里那条三段正则会静默截断
2026-10-21 21:02:17
MySQL 9.7.4 引入 MAJOR.MINOR.PATCH.UPDATE 四段版本号,VERSION() 等既有接口仍是三段。本文讲清四个能取到完整版本的入口,指出 awk 取第三列与三段正则会静默截断导致版本误判,并给出可选第四段的正则与按段比较的 SQL 写法。
MySQL
运维脚本
版本管理
正则
MySQL 开了并行复制仍延迟:40 万行单事务让 4 个 worker 只剩 1 个在忙
编程
MySQL 开了并行复制仍延迟:40 万行单事务让 4 个 worker 只剩 1 个在忙
2026-10-21 20:04:48
副本开着 replica_parallel_workers=4 仍在延迟,通常不是参数没调对:MySQL 把一个事务整块交给一个 worker,40 万行的单事务让其余三个 worker 全程空转;表没有唯一键时源端退回提交顺序,并行度直接归零。文章给出 perf_schema per-worker 表的读法(APPLYING_TRANSACTION 与 LAST_APPLIED_TRANSACTION 的区别)、Seconds_Behind_Source 读到 0 的陷阱,以及 8.4.11 上的实测数据与 8.0 的 COMMIT_ORDER 默认值。
MySQL
复制
运维
性能排查
Go 1.27 的 Transport 自动排空未读响应体:getStatus 从 710ms 降到 150ms
代码
Go 1.27 的 Transport 自动排空未读响应体:getStatus 从 710ms 降到 150ms
2026-10-21 20:02:32
Go 1.27 让 net/http.Transport 在 Close 时异步排空未读的 HTTP/1 响应体(最多 50ms 或 256KB),只取状态码的 getStatus 从 710ms 降到 150ms。文章讲清未读 body 为何阻断连接复用、json.Decoder 少读一个换行的影响、手工排空从无界 io.Copy 到有界异步的演进,并附 Go 1.27.2 与 1.26.9 的 20 请求连接数实测矩阵、背靠背请求竞态与主动断连的三种写法。
Go
net
http
性能优化
HTTP
四家支付回调收敛到一个入口:/pay/notify/{channel} 的实现笔记
代码
四家支付回调收敛到一个入口:/pay/notify/{channel} 的实现笔记
2026-10-21 09:02:28
微信 v3、支付宝、Stripe、PayPal 的回调应答语义和验签材料完全不同,四份 handler 复制来复制去就会串:支付宝返回 JSON 就被判失败并重试 8 次,原始 body 被 JSON 中间件吃掉就验签不过。文章给出统一入口的分层、四家验签与应答对照表、channel+event_id 幂等表、Go 接口与关键代码,以及回调乱序与查单兜底。
支付接口
回调
Go
Stripe
微信支付
幂等键
PayPal webhook 验签失败与收不到回调:从四段待签串查到 443 投递
代码
PayPal webhook 验签失败与收不到回调:从四段待签串查到 443 投递
2026-10-21 09:01:17
PayPal 回调已经到账却验签不过,或者干脆收不到,通常是两件事:待签串 transmissionId|timeStamp|webhookId|crc32 里 webhook_id 取错、CRC32 写成十六进制、用了重新序列化的 body;以及 443 入站被拦。文章给出 Go 自校验实现、证书白名单与缓存、25 次/3 天重试下的幂等做法,以及 Order/Capture 双生命周期该在哪个状态发货。
PayPal
webhook
验签
支付接口
Go
Python 3.14 弃用了 asyncio policy:3.16 移除,应用代码改用 asyncio.run + loop_factory 就够
编程
Python 3.14 弃用了 asyncio policy:3.16 移除,应用代码改用 asyncio.run + loop_factory 就够
2026-10-21 00:05:42
Python 3.14 起 asyncio policy 整套进入弃用期、3.16 移除。列出 7 个被弃用名字与 3 处行为变更,给出 asyncio.run/Runner + loop_factory 的迁移对照和检查清单。
DeprecationWarning
Python
asyncio
Python开发
向后兼容
DeprecationWarning 默认不显示:五行默认过滤器、-W 的模块名匹配与 pytest 优先级反转
编程
DeprecationWarning 默认不显示:五行默认过滤器、-W 的模块名匹配与 pytest 优先级反转
2026-10-21 00:04:59
解释 Python 3.7 起 DeprecationWarning 只在 __main__ 默认显示的机制,拆开五行默认过滤器、-W/PYTHONWARNINGS 与 filterwarnings 的匹配差异,并给出在 pytest/CI 里用 error 逐步收紧的可复现配置。
DeprecationWarning
Python
warnings
pytest
CI
Python开发
pg_advisory_lock 的两个悬挂事故:PgBouncer 事务池里的孤儿锁,和 25P02 之后再也解不开的迁移锁
编程
pg_advisory_lock 的两个悬挂事故:PgBouncer 事务池里的孤儿锁,和 25P02 之后再也解不开的迁移锁
2026-10-21 00:04:15
session 级 pg_advisory_lock 保护迁移时会挂在哪:PgBouncer transaction 模式下锁随连接归还池子、unlock 落到另一条后端返回 false 被静默丢弃,以及事务失败后 25P02 让 unlock 不可达、ROLLBACK 又不释放 session 锁。附 pg_locks 定位 SQL、pg_terminate_backend 清场、xact 锁改造与租约表取舍。
advisory
PostgreSQL
advisorylock
PgBouncer
数据库锁
连接池
迁移
运维
lock
事务池
悬挂
ICU 79 升级笔记:UnicodeString 将被标 final、H24 弃用,从 78.3 到 79 要验证的 5 件事
案例
ICU 79 升级笔记:UnicodeString 将被标 final、H24 弃用,从 78.3 到 79 要验证的 5 件事
2026-10-21 00:04:11
按「谁受影响 → 变更细节 → 怎么验证」梳理 ICU 78.3 到 79 的升级路径:ICU4C 要 C++17、ICU4J 最低 Java 11,79 计划把 UnicodeString 等类标 final、弃用 H24 并把周编号统一为 ISO,ICU4J 从 80 起不再保证跨版本 Java 序列化兼容;附 UnicodeSet pattern 解析变化、行断行反向迭代性能修复、tzdata 2026d 与数据裁剪手段。
ICU
Unicode
CLDR
国际化
i18n
升级迁移
RSA-OAEP 解密报 oaep decoding error:hash、MGF1、label 与模长四项不一致的排查顺序
编程
RSA-OAEP 解密报 oaep decoding error:hash、MGF1、label 与模长四项不一致的排查顺序
2026-10-21 00:03:53
同一个 RSA-OAEP 密文换语言就解不开,报错只是 oaep decoding error。按 RFC 8017 的编码结构逐项查四个参数:lHash 用的摘要、MGF1 的摘要、label、模长 k。附 Go/PHP/Node/Java/openssl 的默认值对照表、明文长度上限表,以及用 openssl pkeyutl 四种组合反推对端参数的排查步骤。
RSA-OAEP
非对称加密
PKCS1
OpenSSL
接口对接
密码学
staticcheck 抑制告警的三条路://lint:ignore 必填 reason,配置排除却不算「无用指令」
编程
staticcheck 抑制告警的三条路://lint:ignore 必填 reason,配置排除却不算「无用指令」
2026-10-21 00:03:42
Go 编译器几乎没有 warning 这一级,逻辑告警全靠 go vet 与 staticcheck。这篇拆 staticcheck 的三条抑制路径:staticcheck.conf 的 checks/inherit 合并、//lint:ignore 行级指令(reason 必填、只作用于下一行)、//lint:file-ignore,以及「没匹配到的指令会被当成问题报出来」「配置禁用的检查不算无用指令」这些反咬细节,最后给出从基线到只拦新增的清理顺序。
warnings
staticcheck
Go
代码质量
lint
lock
PHPStan 2.3 升级笔记:WordPress 分析从 60.5s 降到 7.9s,以及新规则带来的一堆报错
代码
PHPStan 2.3 升级笔记:WordPress 分析从 60.5s 降到 7.9s,以及新规则带来的一堆报错
2026-10-20 21:32:45
PHPStan 2.3 的 Turbo 扩展、结果缓存精确失效与泛型双向收窄把 WordPress 源码分析从 60.5s 压到 7.9s;同时默认开启未使用变量检测,老项目会一次冒出大量报错。本文给出升级步骤、baseline 与 CI 缓存配置,以及哪些项目值得升。
PHPStan
PHP
静态分析
工具链
Pelican Panel + Wings 部署笔记:Compose、反代、节点上线
编程
Pelican Panel + Wings 部署笔记:Compose、反代、节点上线
2026-10-20 21:31:10
Pelican Panel 是 Laravel 写的开源游戏服务器面板,本文用 Docker Compose 跑通 Panel 与 Wings:APP_KEY 备份、BEHIND_PROXY/TRUSTED_PROXIES、Wings 的 docker.sock 与 2022 端口、反代 websockets、节点绿色心跳、端口分配与 Egg 导入,并说明 Docker 版仍属 WIP 的取舍。
Pelican
Laravel
Docker
自托管
运维部署
Vitest 5 升级笔记:未 await 的断言开始失败,mock 调用每个测试前被清空
代码
Vitest 5 升级笔记:未 await 的断言开始失败,mock 调用每个测试前被清空
2026-10-20 21:09:38
Vitest 5 提速最高 50%(跨项目共享转换结果、磁盘缓存、减少进程间传输),但两处行为变更会让旧用例开始失败:未 await 的异步断言不再假通过、每个测试前清空 mock 调用。附 vitest doctor 诊断、--repeats 排查 flaky 与迁移清单。
前端
测试
Vitest
工具链
binlogless 从库 + 并行复制:复制的 FLUSH PRIVILEGES 在 mysql.gtid_executed 里留空洞,重启后复制中断
综合
binlogless 从库 + 并行复制:复制的 FLUSH PRIVILEGES 在 mysql.gtid_executed 里留空洞,重启后复制中断
2026-10-20 21:09:00
binlogless 从库开了 relay-log recovery、并行复制和 commit-order 保持时,复制过来的 FLUSH PRIVILEGES 可能不在 mysql.gtid_executed 里留记录;重启后从库重请求已应用事务,主库 binlog 已 purge 就报 Cannot replicate。附适用条件、巡检 SQL 与规避手段。
MySQL
复制
运维
GTID
补丁版本也会改行为:Vue 3.5.44 中四处影响运行时的修复
编程
补丁版本也会改行为:Vue 3.5.44 中四处影响运行时的修复
2026-10-20 21:07:22
Vue 3.5.44 是补丁版本,但 25+ 修复里有四条改运行时行为:watcher 在别的 effect 内不再收集依赖(关闭 #5009)、once watcher 抛错也停止、SSR 开始传播 async setup 的错误、v-html 正确输出 0 和 false。附最小复现代码与升级检查清单。
Vue
前端
响应式
SSR
编译器替你 free:GOEXPERIMENT=runtimefreegc 的插入条件、16 字节阈值与收益边界
编程
编译器替你 free:GOEXPERIMENT=runtimefreegc 的插入条件、16 字节阈值与收益边界
2026-10-20 21:06:14
Go 的 runtimefreegc 实验让编译器在能证明对象已死的位置插入 runtime.free,减少 GC 扫描对象。本文讲它想省掉哪段工作、为什么阈值定在 16 字节、与 Go 1.25 栈分配 32 字节阈值方向相反的关系,以及哪些场景会纯亏,附 gotip 基准写法。
Go
GC
编译器
性能
代金券回调新增 appid/openid:多公众号共商户号时怎么路由、校验与限频
案例
代金券回调新增 appid/openid:多公众号共商户号时怎么路由、校验与限频
2026-10-20 21:05:24
微信支付 2026-10 更新:代金券消息通知地址可带 appid,核销回调才返回 openid,多公众号共用商户号时必须按 appid 做路由;会员卡模板一批字段必填改选填会让本地校验报错;商品券 display_info 与可用商品编码列表二选一;会员接口限频放宽到 100/秒。
支付对接
微信支付
接口变更
Go
PHP 8.5.11 安全修复按优先级过一遍:FPM 的 IPv6 ACL 绕过该先处理
综合
PHP 8.5.11 安全修复按优先级过一遍:FPM 的 IPv6 ACL 绕过该先处理
2026-10-20 21:04:01
PHP 8.5.11 的安全修复按上线优先级重排:FPM listen.allowed_clients 的 IPv6 ACL 绕过取决于你用 TCP 还是 unix socket;OpenSSL 出现 SAN 不匹配回退 CN 与通配符 CN 堆溢出;HTTP stream wrapper 重定向会把 Authorization 发到另一主机。附核查命令与收紧配置。
PHP
安全运维
php-fpm
升级
PHP 8.6 部分函数应用:`?` 与 `...` 生成的闭包签名、可选性变化和报错
编程
PHP 8.6 部分函数应用:`?` 与 `...` 生成的闭包签名、可选性变化和报错
2026-10-20 21:02:49
PHP 8.6 的 partial function application 用 `?` 和 `...` 占位符让引擎直接生成闭包,省掉整段 fn 声明。本文整理它与 fn、FCC 的差别,`?` 占位参数不再继承可选性这条后续 RFC 的影响,以及 5 条常见报错原文。
PHP
PHP8.6
语法特性
MySQL XA 的两个错序 Bug:GTID 已可见,XA RECOVER 里却还看不到(或还没消失)
代码
MySQL XA 的两个错序 Bug:GTID 已可见,XA RECOVER 里却还看不到(或还没消失)
2026-10-20 21:02:11
MySQL 9.7.4 修了两条 XA 与 GTID 的错序:XA COMMIT 的 GTID 先可见而 XA RECOVER 还在列它;XA PREPARE 的 GTID 先可见而 XA RECOVER 看不到 XID。窗口期内协调器容易漏单或重复决议,文中给出幂等处理与对账宽限窗口的做法。
MySQL
XA
分布式事务
运维
队列
MySQL 9.7.4 回退了收紧的建表校验,但 INSTANT DDL 仍在用严格行大小估算
编程
MySQL 9.7.4 回退了收紧的建表校验,但 INSTANT DDL 仍在用严格行大小估算
2026-10-20 21:01:33
MySQL 9.7.4 把 9.7 早期小版本收紧的 DDL 行大小校验回退了,但 ALTER TABLE ... ALGORITHM=INSTANT 仍走严格算法;同时版本号变成四段而 VERSION() 还是三段,EXCHANGE PARTITION 改双向检查 CHECK 与生成列。附可复现的验证 SQL 和报错原文。
MySQL
运维
DDL
版本升级
warnings
微信支付查单与回调:5 秒内先验签再应答,关单前必须先查单
代码
微信支付查单与回调:5 秒内先验签再应答,关单前必须先查单
2026-10-20 20:02:26
按微信支付官方《支付回调和查单实现指引》(2026-10-13)整理:回调 5 秒内验签应答、NOTPAY 不等于支付失败、未收到回调先查单且不换 out_trade_no、关单前必须先查单(含错误码 268449538/268498689 的处理)、两套轮询查单节奏与 T+1 对账四种结果。
微信支付
支付对接
PHP
接口设计
异步通知
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
…
14
15
16
17
18
19
20
…
349
下一页
共 349 页
到第
页
确定