程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
软件定制开发/软件按需定制 技术文章 · 第11页
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
Docker Engine 29 升级:API 1.52 抬高最低版本,网络与 Go SDK 也要跟着改
综合
Docker Engine 29 升级:API 1.52 抬高最低版本,网络与 Go SDK 也要跟着改
2026-10-28 21:06:19
Docker Engine 29 把 API 抬到 1.52、daemon 最低支持 v1.44,老客户端和管理面板会直接连不上;新安装默认用 containerd image store,nftables 下不再自动开 IP forwarding。Go SDK 也做了成规模的 option struct 与 netip 改造,文中逐项列了升级检查。
Docker
容器
运维
升级
nginx 1.31.0 与 1.30.x:反代配置要跟着改的几处
综合
nginx 1.31.0 与 1.30.x:反代配置要跟着改的几处
2026-10-28 21:06:19
nginx 1.31.0 开始拒绝 HTTP/2、HTTP/3 请求里的 Connection、Keep-Alive、Transfer-Encoding 等逐跳头,TE 只允许 trailers;1.29.7 起 upstream keepalive 默认开启、proxy_http_version 默认 1.1,老配置里的手工补丁要清理。文中给出 400 排查命令与安全修复清单。
nginx
反向代理
运维
HTTP2
PHP 8.6 ext/uri 新增两个 Builder:先建后校验,不必再先有合法 URI
编程
PHP 8.6 ext/uri 新增两个 Builder:先建后校验,不必再先有合法 URI
2026-10-28 21:06:19
PHP 8.6 的 ext/uri 补上了 UriBuilder 与 UrlBuilder,把「每改一个组件就新建对象」和「必须先有合法 URI」两个问题一起解掉,校验分单组件与整体两层。同时新增 UriType 与 HostType 枚举,WHATWG 侧还能识别 127.1、0x7f.0x0.0x0.0x1 这类 IPv4 写法。
PHP
URI
RFC3986
WHATWG
Bash 5.3:不再 fork 的命令替换 ${ cmd; } 与 ${|cmd;}
编程
Bash 5.3:不再 fork 的命令替换 ${ cmd; } 与 ${|cmd;}
2026-10-28 21:04:52
Bash 5.3 新增 ${ cmd; } 与 ${|cmd;} 两种命令替换,在当前 shell 执行、不 fork 子进程,副作用可见;后者从 REPLY 取结果。文章给出与 $(...) 的对照示例、版本检测写法,以及 GLOBSORT、BASH_MONOSECONDS、compgen -V 等对脚本有用的改动。
Bash
Shell
脚本
Linux
Vite 8 迁移笔记:Rolldown 和 Oxc 接管后要改的配置
代码
Vite 8 迁移笔记:Rolldown 和 Oxc 接管后要改的配置
2026-10-28 21:04:52
Vite 8 用 Rolldown 与 Oxc 取代 esbuild 和 Rollup,兼容层能自动转大部分旧配置,但 CJS 默认导入规则、manualChunks 对象形式、import.meta.url 在 UMD 下的行为都变了。文中给出迁移前后配置对照、esbuild 变可选依赖后的插件改法,以及已知限制清单。
Vite
前端构建
Rolldown
迁移
Redis 8.4.7 / 8.4.8 集群安全修复:总线端口无认证,以及 4GB PUBLISH 的堆溢出
综合
Redis 8.4.7 / 8.4.8 集群安全修复:总线端口无认证,以及 4GB PUBLISH 的堆溢出
2026-10-28 21:03:21
Redis 8.4.7 与 8.4.8 两个安全版本修了 cluster bus 无认证、事务内 ACL 回收绕过、TimeSeries/Vector Set 崩溃,以及 4GB PUBLISH 传播时的堆溢出。文中给出确认 tls-cluster 状态、收敛总线端口、滚动升级顺序,以及开启 cluster-bus-port-protected-mode 前必须先配好 TLS 的原因。
Redis
集群
安全更新
运维
MySQL 8.4.13 与 9.7.4:版本号变四段,InnoDB 变严的行大小校验回退了
编程
MySQL 8.4.13 与 9.7.4:版本号变四段,InnoDB 变严的行大小校验回退了
2026-10-28 21:03:21
MySQL 8.4.13 与 9.7.4 引入四段版本号 VERSION_WITH_UPDATE(),但 VERSION() 仍是三段语义;9.7.4 还把此前变严的 InnoDB 行大小校验回退,只有 ALGORITHM=INSTANT 继续严格。另附 hypergraph optimizer 改错行、index_merge_union 返回空集的回归点与升级检查清单。
MySQL
InnoDB
版本升级
运维
PgBouncer 1.26.1:知道一个 SCRAM 用户密码就能登成超级用户,1.26.0 还静默改了 search_path 的默认跟踪
资讯
PgBouncer 1.26.1:知道一个 SCRAM 用户密码就能登成超级用户,1.26.0 还静默改了 search_path 的默认跟踪
2026-10-28 20:02:50
PgBouncer 1.26.1 修了三个 CVE:1.17.0–1.26.0 的 SCRAM 认证绕过(知道一个用户密码即可登成任意 SCRAM 用户含超管)、两处未认证可触发的死循环 DoS;同时修了 1.26.0 引入的 search_path 跟踪导致 ignore_startup_parameters 静默失效。附版本、配置项与升级前脚本的检查步骤。
PgBouncer
PostgreSQL
安全修复
运维
PostgreSQL 19 RC1 升级前要测的事——REPACK 的锁、plan advice 的边界、默认值变化
编程
PostgreSQL 19 RC1 升级前要测的事——REPACK 的锁、plan advice 的边界、默认值变化
2026-10-28 20:01:49
PostgreSQL 19 RC1 已出,GA 计划 11 月 19 日。这篇按升级实际会遇到的问题整理:REPACK CONCURRENTLY 结尾仍要 ACCESS EXCLUSIVE 锁、pg_plan_advice 只是约束不是提速、autovacuum 并行与 pg_stat_autovacuum_scores 打分、序列同步要求 publisher 也是 19,以及 JIT 默认关闭、btree_gist inet/cidr 索引会被 pg_upgrade 拒绝等默认值变化。
PostgreSQL
数据库升级
运维
复制
微信支付分账:漏传 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
运维
监控
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
…
8
9
10
11
12
13
14
…
349
下一页
共 349 页
到第
页
确定