程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
排障 相关技术文章
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
脚本打印 done、产物却是 0 字节:tee 吞掉了退出码,137 才露出 OOM 的手
编程
脚本打印 done、产物却是 0 字节:tee 吞掉了退出码,137 才露出 OOM 的手
2026-10-23 21:31:53
夜间任务每天照常打印 done,汇总文件却是 0 字节。根因是 `curl | tee` 只返回 tee 的退出码。打开 pipefail 后看到 137(SIGKILL),再用 cgroup memory.events 确认 OOM;配套 preflight 预检、逐条 checkpoint + fsync、结尾数量对账,以及一张贴在任务旁的退出码表。
Shell
Bash
Linux运维
cgroup
排障
PHP 长驻 worker 的 OOM 排障:8.6 换掉 longjmp,多了 memory_hard_limit_percent
编程
PHP 长驻 worker 的 OOM 排障:8.6 换掉 longjmp,多了 memory_hard_limit_percent
2026-10-23 21:05:40
PHP 8.6 起 OOM 不再用 longjmp 中途跳出,改为置标记跑到安全点报错,并新增 memory_hard_limit_percent 硬上限直接退出进程。本文解释改动对 FPM 与 FrankenPHP 长驻 worker 的影响、两道内存线怎么配、以及如何验证。
PHP
内存管理
排障
安全
支付宝 OpenAPI 40002 isv.invalid-signature:先别换密钥,先对比待签名串
代码
支付宝 OpenAPI 40002 isv.invalid-signature:先别换密钥,先对比待签名串
2026-10-19 09:02:34
支付宝 OpenAPI 报 40002 isv.invalid-signature 时,按 sub_code 分类后重点查待签名串:四步拼接规则、sign_type 保留与异步通知验签的差异、gateway 带 ?、charset 不一致导致中文乱码、URLEncode 时机、PKCS8 私钥、RSA/RSA2 混用、证书模式 app_cert_sn 参与签名,并给出用 openssl 在本地自证签名的命令。
支付
支付宝
RSA2
签名验签
接口对接
排障
MySQL 报 ER_1366 Incorrect string value:从驱动到字段排查连接字符集链
编程
MySQL 报 ER_1366 Incorrect string value:从驱动到字段排查连接字符集链
2026-10-16 00:05:00
存 emoji / 中文报 ER_1366 Incorrect string value、ER_1300、ER_3988 时,问题常在客户端、连接层、服务端对象三处字符集不统一。给出 SHOW VARIABLES 该看的变量、SET NAMES 与 character-set-client-handshake、实例→库→表→字段的修改优先级,以及 PHP/Python/Go/JDBC 驱动侧配置与 latin1 双重编码陷阱。
utf8mb4
MySQL
字符集
乱码
emoji
排障
数据库
collation
微信小程序虚拟支付(个人主体)接入:paySig 与 signature 别搞混,发货别信前端 success
代码
微信小程序虚拟支付(个人主体)接入:paySig 与 signature 别搞混,发货别信前端 success
2026-10-11 09:01:10
微信小程序虚拟支付(个人主体)接入实战:梳理开通条件与限额、Android 1%/iOS 12% 费率,重点排查两个高频坑——paySig(AppKey)与 signature(sessionKey)两套签名混用、uri 与 post_body 规则,以及发货为何必须靠 xpay_goods_deliver_notify 推送 + query_order 查单、以 wx_order_id 做幂等,附 Python 签名实现与推送应答 XML。
微信小程序
虚拟支付
支付接入
HMAC-SHA256
接口对接
签名验签
排障
个人开发
capabilities
服务
ST
eve
Server
费率
HMAC
微信小程序虚拟支付
Virtual
PR
对接
Platform
身份
Dev
wx.requestVirtualPayment
小程序虚拟支付
SHA256
Lit
CC
ABI
25
支付接口日志脱敏:别让 APIv3 密钥、账单下载签名和回调明文进日志
代码
支付接口日志脱敏:别让 APIv3 密钥、账单下载签名和回调明文进日志
2026-10-10 09:01:48
支付接口对接中最容易被日志漏出的三类敏感数据(APIv3 密钥/私钥、回调密文与解密明文、账单 download_url 与 Authorization 头),从网关 access log、HTTP 客户端 debug 开关、异常捕获、前端上报四条泄漏路径切入,给出 slog/Monolog/nginx 白名单脱敏写法与上线前检查清单。
支付接口
日志脱敏
安全
微信支付
排障
运维
平台证书
RSA2
可复现
RSA
身份
工程
截图
CC
25
18
账单下载
微信支付交易账单对账排查:下载链接 5 分钟、GZIP 解不开、金额单位是「元」
代码
微信支付交易账单对账排查:下载链接 5 分钟、GZIP 解不开、金额单位是「元」
2026-10-10 09:01:16
微信支付交易账单对账时的三类高频故障排查:download_url 5 分钟过期拿 403、GZIP 账单解压报 not in gzip format、接口「分」与账单「元」差 100 倍;附申请/下载/校验命令与差单、差钱的排查顺序。
支付接口
微信支付
对账
账单下载
排障
APIv3
重试
延迟
压缩
zip
类型
金额单位
微信支付退款卡在 PROCESSING / CLOSED / ABNORMAL:三种"没退成功"的状态怎么读、怎么处理
代码
微信支付退款卡在 PROCESSING / CLOSED / ABNORMAL:三种"没退成功"的状态怎么读、怎么处理
2026-10-06 09:00:52
微信支付 v3 退款提交后返回 200 只代表受理,退款单最终可能卡在 PROCESSING、CLOSED 或 ABNORMAL。这篇按状态逐个拆:CLOSED 为何要换个退款单号重发、ABNORMAL 原路退回失败怎么走异常退款接口,附退款回调重试频次与 REFUND_FEE_MISMATCH 等高频错误码。
微信支付
退款
APIv3
支付接口对接
排障
查单
对接支付接口报 SSL certificate problem:别急着关 VERIFYPEER,先查 CA 路径、SNI 与老 ca-bundle
代码
对接支付接口报 SSL certificate problem:别急着关 VERIFYPEER,先查 CA 路径、SNI 与老 ca-bundle
2026-10-02 09:01:23
对接微信支付/支付宝/Stripe 接口时 TLS 握手就报 SSL certificate problem、x509 unknown authority、PKIX path building failed,这篇按「先定位→再修」排一遍:用 curl -v 与 openssl s_client 看清证书链与 Verify return code;区分缺中间证书、SNI/域名不匹配、老 ca-bundle、系统时间四类原因;给出 PHP curl.cainfo、Linux update-ca-certificates/update-ca-trust、Docker/scratch 与 Go fallback 的修法,并说明为什么不该关 VERIFYPEER。
接口对接
HTTPS
TLS
证书
排障
握手
集群里 access_token 互相顶掉:40001/40014 的排查与中控刷新
代码
集群里 access_token 互相顶掉:40001/40014 的排查与中控刷新
2026-09-29 09:01:45
多节点各自刷新 access_token,导致刚拿到的凭证几分钟就失效、40001/40014 间歇性爆发。本文按错误码拆解微信、企业微信、支付宝、飞书的凭证行为,给出 Redis 集中缓存 + 分布式锁 + 双重检查 + 预过期缓冲的中控刷新方案与 PHP/Go 代码,并说明 refresh_token 轮换、微信支付 APIv3 等不适用场景。
access_token
接口对接
分布式锁
Redis
微信
排障
Nginx 502/504 排障:先按 error.log 关键字分流,别急着重启
案例
Nginx 502/504 排障:先按 error.log 关键字分流,别急着重启
2026-09-23 21:02:57
502 和 504 是两种病。本文用 error.log 关键字(Connection refused、upstream timed out 在 connecting 还是 reading response header、no live upstreams、reset by peer)做分流,给出分层判断表、proxy_connect/send/read_timeout 的分工、upstream 健康检查与 HTTPS 两条链路的排查,并附三个真实案例。
Nginx
运维
排障
反向代理
从库 SQL 线程报 1534/1197:max_binlog_cache_size 不足的复现与修复
编程
从库 SQL 线程报 1534/1197:max_binlog_cache_size 不足的复现与修复
2026-09-23 21:02:57
从库复制中断,error log 出现 Writing one row to the row-based binary log failed、Error_code 1534,别按数据冲突处理。根因是从库开了 log_slave_updates,写本地 binlog 受 max_binlog_cache_size 限制。文中区分 1197+1534 与仅 1534 两种形态,给出调整参数并 START SLAVE 的修复路径。
MySQL
主从复制
排障
binlog
AX
Vue3 响应式失效复盘:reactive 解构、数组整体替换与 watch/computed 的坑
编程
Vue3 响应式失效复盘:reactive 解构、数组整体替换与 watch/computed 的坑
2026-09-23 21:02:57
响应式不更新多半不是 Vue 失效,而是撞上 Proxy 边界。文中梳理 reactive 解构丢响应、整体替换数组必须用 ref,computed 的惰性求值与禁止副作用(异步、改其他状态、访问 DOM),以及 watch 监听 reactive 时 oldValue===newValue、flush:'post' 取 DOM 等坑。
Vue
前端
响应式
排障
惰性求值
微信支付 APIv3 报 401 / SIGN_ERROR:按签名链路逐项排查
案例
微信支付 APIv3 报 401 / SIGN_ERROR:按签名链路逐项排查
2026-09-23 21:02:57
接口报 401 或「错误的签名,验签失败」,方向就是签名没算对。按密钥文件→商户号/证书序列号→nonce_str/timestamp→签名串格式→代码转义逐项核对,含 openssl 查序列号与 mchid 的命令、签名串 5 行换行与 URL 不带域名的规则,并附 APIv3 错误码说明。
微信支付
接口对接
签名
排障
微信支付服务商模式:报「sub_mch_id 与 sub_appid 不匹配」,八成是绑定关系配错了
代码
微信支付服务商模式:报「sub_mch_id 与 sub_appid 不匹配」,八成是绑定关系配错了
2026-09-23 09:02:00
直连改微信支付服务商(ISV)模式后一下单就报「sub_mch_id 与 sub_appid 不匹配」「appid和mch_id不匹配」「受理关系不可用」?这文先分清 sp_* 与 sub_*,再按 11 类报错逐条给归因和修复位置,附绑定关系的服务商后台查询路径,以及「绑了 sub_appid 就必须传」「子商户后台配置对服务商模式无效」等易漏坑。
微信支付
服务商模式
ISV
接口对接
合单支付
排障
支付超时之后:微信用原单号重试,支付宝预下单却要换新单号
代码
支付超时之后:微信用原单号重试,支付宝预下单却要换新单号
2026-09-22 09:01:35
网络超时或 HTTP 500 之后,支付订单是成功还是失败?这篇按微信支付 v3 与支付宝官方规则拆解:什么情况可用原单号幂等重试、什么情况必须换新单号、SYSTEM_ERROR 在两个渠道里的语义差异,以及查询接口兜底与重试预算的落地写法。
微信支付
支付宝
接口对接
重试幂等
排障
H5(MWEB) 支付接入:referer 为空、域名不一致和空白页的排查路径
代码
H5(MWEB) 支付接入:referer 为空、域名不一致和空白页的排查路径
2026-09-21 09:01:08
微信支付 H5(MWEB) 接入常见的调起失败排查:referer 为空报「商家参数格式有误」、发起页或 redirect_url 域名与授权域名不一致报「商家存在未配置的参数」、微信内打开报「请在微信外打开订单」,以及 mweb_url 5 分钟有效期、redirect_url 回跳不等于支付结束、关单与查单兜底。
微信支付
H5支付
MWEB
支付接入
排障
查单
H5
微信支付 JSAPI 拉不起收银台:授权目录、10003、openid 不匹配怎么逐条查
代码
微信支付 JSAPI 拉不起收银台:授权目录、10003、openid 不匹配怎么逐条查
2026-09-18 09:01:01
微信支付 JSAPI(公众号 H5 支付)报「当前页面的URL未注册」「redirect_url 不一致 10003」「appid 与 openid 不匹配」「chooseWXPay 调不起来」时怎么查:支付授权目录的大小写/结尾/多级目录规则与错配示例、网页授权域名配置路径、下单与获取 openid 的 appid 必须一致,附官方文档链接。
微信支付
JSAPI支付
支付接口
openid
支付授权目录
排障
Stripe Webhook 验签失败:请求体、密钥与环境三类原因的排查顺序
代码
Stripe Webhook 验签失败:请求体、密钥与环境三类原因的排查顺序
2026-09-15 09:00:47
Stripe Webhook 报「No signatures found matching the expected signature for payload」时,别猜报错文本。这文按三个输入(原始请求体、Stripe-Signature 头、endpoint secret)逐个排除:whsec_ 密钥的 test/live/CLI 差异、Express/Next.js/FastAPI/Go 取原始 body 的写法、代理与时钟容差,以及用 Dashboard Recent deliveries 先分诊。
Stripe
Webhook
验签
支付回调
排障
微信支付分账接入与排障:订单支付成功,分账却报 403
代码
微信支付分账接入与排障:订单支付成功,分账却报 403
2026-09-12 09:02:14
微信支付分账接入与排障:从「支付成功后分账报 403 / 分不出去」出发,按调用顺序梳理下单必须打 profit_sharing 标识、添加分账接收方、30% 最大分账比例、30/180 天冻结期、请求分账的受理型语义、解冻剩余资金与 un freeze_unsplit,以及分账回退的 180 天与 50 次硬约束和退款出款账户规则。
微信支付
分账
支付接口
资金结算
排障
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调