程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
宝塔日志 相关搜索结果(第72页)
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
Go 1.27 默认 500 个请求头就回 431:kube-apiserver 大批 group 用户被拒的排查
综合
Go 1.27 默认 500 个请求头就回 431:kube-apiserver 大批 group 用户被拒的排查
2026-11-03 21:01:18
Go 1.27 给 net/http 加了 MaxHeaderValueCount,默认 500 个 header value,超限返回 431。kube-apiserver 上 impersonate 或代理用户 group 超过 500 个就直接被拒,1.35.10 把上限提到 16384。讲清 431 与 413 的区别、头数量怎么数、curl 复现与 Go 侧配置。
Go
运维
Kubernetes
PHP 8.6 里 trim() 开始吃掉 \f:默认字符集、array_filter 的 ValueError 与一批弃用
编程
PHP 8.6 里 trim() 开始吃掉 \f:默认字符集、array_filter 的 ValueError 与一批弃用
2026-11-03 21:02:16
PHP 8.6 三处不改签名却改结果的变动:trim/ltrim/rtrim/chop 默认字符集加入 form feed 0x0C,CSV 与 PDF 抓文本的字段字节会静默变化;array_filter 非法 $mode 从静默按 0 处理改成抛 ValueError;ArrayIterator 一批方法与 spl_object_hash 开始弃用。
PHP
版本升级
兼容性
Seata AT 回滚报 Has dirty records when undo:镜像校验、全局锁与回滚顺序的排查记录
编程
Seata AT 回滚报 Has dirty records when undo:镜像校验、全局锁与回滚顺序的排查记录
2026-11-04 00:04:09
从 Seata AT 模式一次回滚失败切入:SQLUndoDirtyException 的四个判定分支、on update CURRENT_TIMESTAMP 如何破坏镜像校验、全局锁 lockKey 与 300ms 重试预算、undo_log 防悬挂记录,以及 2.0 正序回滚 bug(#6120)的复现条件与判据。
Seata
分布式事务
AT模式
undo_log
MySQL
Java
PHP 8.5.12 启动期 delayed OOM:uri 模块 RINIT 失败让 worker 直接 exit(1)
编程
PHP 8.5.12 启动期 delayed OOM:uri 模块 RINIT 失败让 worker 直接 exit(1)
2026-11-05 20:02:43
PHP 8.5.12 起 memory_limit 越界改为延迟抛 OOM,请求启动期留出一段没有检查的窗口;落在窗口里的 multipart 上传会让 worker exit(1):FPM 变 502 不是 500,mod_php 杀掉 Apache 子进程,upload_tmp_dir 还留残留文件。附 N 扫描复现方法与 8.5.11 对照数据。
PHP
运维
内存
排错
PostgreSQL 19 默认关掉 JIT:先找出哪些查询原来在替它付编译成本
编程
PostgreSQL 19 默认关掉 JIT:先找出哪些查询原来在替它付编译成本
2026-11-05 21:04:30
PostgreSQL 19(GA 计划 11 月 19 日)把 jit 默认值从 on 改成 off,三个成本阈值不变。本文说明 JIT 如何在计划阶段被成本触发、怎么从 EXPLAIN ANALYZE 和 pg_stat_statements 找出原来靠 JIT 的查询,以及 ALTER ROLE 只对新会话生效这层限制。
PostgreSQL
数据库
JIT
升级
运维
服务端提前返回 502 后,Go 的 writeLoop 还在读你的 buffer
编程
服务端提前返回 502 后,Go 的 writeLoop 还在读你的 buffer
2026-11-06 20:01:53
复现并解释 Go 的一个数据竞争:服务端只看请求头就提前回 502 时,http.Transport 的 writeLoop 仍在后台按 32KiB 读请求体,而调用方已经开始重试、复用同一块 buffer。拆开 persistConn 的 writeLoop/readLoop 与 roundTrip 的 select,说明文档约定、真实后果,以及 vmagent 为何故意保留这个竞争、vmauth 为何必须修。
Go
并发
HTTP
数据竞争
Go 1.28 的 Range 请求超过 200 段就整段忽略:断点续传与分片下载会退回整包
编程
Go 1.28 的 Range 请求超过 200 段就整段忽略:断点续传与分片下载会退回整包
2026-11-06 21:02:02
Go 1.28 对 FileServer/ServeContent 等入口限制 Range 头段数,超过 httpservecontentmaxranges(默认 200)就整段忽略,返回 200 全量而不是 206,断点续传和分片下载会静默失效。该默认值已回溯到 1.27.2 与 1.26.9。含 curl 构造 201 段的验证方法与关闭限制的取舍。
Go
HTTP
文件下载
GODEBUG
NGINX upstream keepalive 实测:配了 keepalive 16,后端连接数仍是 15557 条
综合
NGINX upstream keepalive 实测:配了 keepalive 16,后端连接数仍是 15557 条
2026-11-06 21:31:05
NGINX 只写 keepalive 16 不会复用连接:给出 upstream keepalive + proxy_http_version 1.1 + 清空 Connection 头三段式配置,并用四组对照压测说明半配置为何会静默产生 8 千多次 prematurely closed、端口耗尽的 [crit] 报错为何被 grep 漏掉,以及如何用 ss 和 upstream_connect_time 验证复用真的生效。
nginx
运维
反向代理
502
Uncloud v0.22 部署笔记:没有控制面,用 WireGuard mesh 和 CRDT SQLite 管 Docker 集群
编程
Uncloud v0.22 部署笔记:没有控制面,用 WireGuard mesh 和 CRDT SQLite 管 Docker 集群
2026-11-06 21:32:10
Uncloud 用 WireGuard mesh 加 CRDT SQLite(corrosion)在多台 Docker 主机间同步集群状态,没有控制面和 quorum。笔记给出 uc machine init / uc run -p 域名:端口/https 的可复现步骤,讲清 gRPC over SSH、Caddy global 模式做 ingress、unregistry 直推镜像,并记录 v0.22.0 的原地改资源限制、uc image rm、m.internal DNS,以及 caddy deploy 会重签证书与机器名必须是 DNS label 两个升级坑。
docker
部署
运维
Go
wget 遇 503 不进重试直接退出码 8:-t 20 只管网路中断,--retry-on-http-error 要自己开
编程
wget 遇 503 不进重试直接退出码 8:-t 20 只管网路中断,--retry-on-http-error 要自己开
2026-11-07 00:04:32
wget 默认 -t 20 只重试连接中断和读超时,HTTP 503/429 会直接以退出码 8 结束,日志里连 Retrying. 都没有。这篇按手册核对重试边界:--waitretry 线性退避默认 10 秒、read timeout 默认 900 秒、--retry-on-http-error 从 1.19.1 才有且官方不推荐,并给出退出码 0-8 的分支判断、-c 与 -O 共用会截断文件的原因,以及可直接抄的 flock + sha256sum 脚本。
wget
Shell
运维
下载工具
PHP 8.6:finally 里写 return 会丢掉异常,编译期就报弃用
编程
PHP 8.6:finally 里写 return 会丢掉异常,编译期就报弃用
2026-11-07 21:01:48
PHP 8.6 将在 finally 块里 return 标为弃用,且是编译期 deprecation:它会让 try 抛出的异常静默消失,调用方只拿到兜底值。给出错误写法、两种正确改法与 grep / php -l / PHPStan 的排查方式,PHP 9.0 将升级为错误。
PHP
异常处理
代码审查
PHP 8.6 把 php://filter 过滤器链限制到 16 个:未设上限会发弃用提示,显式设置后超限直接打开失败
编程
PHP 8.6 把 php://filter 过滤器链限制到 16 个:未设上限会发弃用提示,显式设置后超限直接打开失败
2026-11-07 21:05:38
PHP 8.6 给 php://filter 的过滤器链加了默认 16 个上限:未配置 filter.max_filter_count 时超限发弃用提示,显式设置后超限直接打开流失败。给出 stream_filter_append 与 context 选项两种替代写法、read/write 分别计数的注意点,以及把这条 deprecation 当攻击信号的用法。
PHP
安全
文件流
Gmail 报 550-5.7.25 缺 PTR:docker-mailserver 出站发信的源 IP、反向解析与 EHLO 怎么对齐
编程
Gmail 报 550-5.7.25 缺 PTR:docker-mailserver 出站发信的源 IP、反向解析与 EHLO 怎么对齐
2026-11-08 00:04:14
出站邮件被 Gmail 以 550 5.7.25 拒绝时,先确认收件方看到的源 IP,再依次核对 PTR 与正向 A/AAAA、EHLO 的 FQDN、出站 25 端口是否被封。附 docker-mailserver 的 smtp_bind_address 绑定写法,以及它被 smtp-amavis 继承的坑和 postfix-master.cf 覆盖方案。
docker-mailserver
邮件服务器
Postfix
反向解析
PTR
运维
PHP 8.6 把 array_intersect() 的字符串转换提前到扫描阶段
编程
PHP 8.6 把 array_intersect() 的字符串转换提前到扫描阶段
2026-11-08 21:04:15
PHP 8.6 把 array_intersect() 的值转字符串从排序比较阶段前移到扫描阶段。有状态 __toString() 的结果、抛出的异常来自哪个元素、Array to string conversion 告警的条数与顺序都会变;参数类型校验提前,空数组输入则完全不转换。文末给四条自查清单。
PHP
数组函数
升级踩坑
空回滚的判定:查不到 Try 记录,不等于 Try 没执行
编程
空回滚的判定:查不到 Try 记录,不等于 Try 没执行
2026-11-09 00:05:03
一次 Cancel 进来怎么判断它是不是空回滚:SELECT 查不到 Try 记录只能证明此刻这行不存在,不能证明 Try 不会再来。文中拆开「先查后改」的竞态窗口(Try 查完无记录→进程暂停→全局超时判空补偿→Try 恢复提交→悬挂),说明 SELECT FOR UPDATE 在行尚未插入时锁不住什么,判据必须落在写上;对照 DTM 子事务屏障的两条 insert ignore(cancel 代插 try 记录)与 Seata tcc_fence_log 的 status=4 是同一断言;给出两侧排查 SQL、清理窗口短于重试窗口会重新判成空回滚的坑,以及对账口径。
空回滚
TCC
分布式事务
DTM
Seata
悬挂
幂等
TCC 的三种异常压在一张表上:tcc_fence_log 四个状态,useTCCFence 默认还是 false
编程
TCC 的三种异常压在一张表上:tcc_fence_log 四个状态,useTCCFence 默认还是 false
2026-11-03 00:04:21
TCC 的幂等、空回滚、资源悬挂在实现层是同一件事:一条分支记录被 Try 和 Cancel 错序写入。以 Seata 1.5.1 的 tcc_fence_log 为例,拆开 status 四态(tried/committed/rollbacked/suspended)各自挡哪种错序,说明 useTCCFence 默认 false 这个升级陷阱、空回滚必须写记录才能防悬挂的原因,并给出自建这张表的唯一键与同库约束。
TCC
分布式事务
Seata
DTM
空回滚
悬挂
docker prune 删完磁盘没降:未使用判定与三类残留探针
编程
docker prune 删完磁盘没降:未使用判定与三类残留探针
2026-11-10 00:03:34
docker image/system prune 报告 reclaim 了几 GB,df 却没动:一是「未使用」按容器引用判定,停止的容器仍算引用,volume 的引用链要等容器删除才断;二是 build cache 是独立记录,system prune 只清 dangling 部分;三是 json.log 与被 unlink 但仍打开的层文件不在任何 prune 范围内。附各命令对照表、ImagesPrune 的 dangling filter 坑与 df -v、lsof +L1 探针。
prune
Docker
运维实战
磁盘空间
ingestr 增量策略的两个坑:默认是 replace,delete+insert 缺边界就静默跳过
编程
ingestr 增量策略的两个坑:默认是 replace,delete+insert 缺边界就静默跳过
2026-11-10 00:03:46
ingestr 的 --incremental-strategy 默认是 replace,不是增量;delete+insert 依赖 --interval-start/--interval-end,边界既没显式给、又推不出来时会跳过 delete 和 insert 且不报错。附策略语义、incremental-key 该用哪类列、truncate+insert 移除后的升级、merge 的 NULL 主键差异与定位手段。
ingestr
数据摄取
增量同步
数据库迁移
Go
MySQL
PostgreSQL
Fleetd v0.3.0:让软路由主动连回后台,命令权限留在客户端
编程
Fleetd v0.3.0:让软路由主动连回后台,命令权限留在客户端
2026-11-10 20:01:42
Fleetd 是一个 MIT 开源自托管的服务器与软路由管理工具,v0.3.0 首版。本文拆它的几个设计取舍:客户端主动连回服务端以穿透 NAT、新机器先指纹批准、远程命令三级权限(monitor/allowlist/full)放在客户端本地、浏览器签名加客户端公钥校验、客户端更新用签名发布包,以及 Docker Compose 试用步骤和默认配置的注意事项。
Fleetd
运维
自托管
OpenWrt
Go
Do 返回之后请求体还在被读:Go http.Transport 的 data race,vmagent 留着它、vmauth 必须修
编程
Do 返回之后请求体还在被读:Go http.Transport 的 data race,vmagent 留着它、vmauth 必须修
2026-11-10 21:33:51
Go 的 http.Transport 在独立 goroutine 里写请求体,Do 返回时它可能还在读你复用的缓冲。复现 race 报告、讲清 writeLoop/readLoop/roundTrip 的时序,再对比 vmagent 故意保留与 vmauth 必须修的判断依据:共享的是字节还是游标。
Go
并发
调试
LTS 的支持窗口从哪天开始算:补丁版本不续命,ESM/ELC 才算延长
编程
LTS 的支持窗口从哪天开始算:补丁版本不续命,ESM/ELC 才算延长
2026-11-11 00:05:29
装了更晚的补丁版本并不等于把 EOL 往后推:支持期只挂在 minor/major 版本上,4.1 到期时 4.1.x 全家同时失效。文章对照 midPoint、.NET、Ubuntu、Zabbix、Jenkins LTS、RHEL、OpenHarmony 七套 LTS 口径,拆开「起算点 / 标准窗口 / 付费延长」三者,并说明 EOL 后 unattended-upgrades 仍在写日志、apt 却已 404 的假象。
LTS升级
运维
版本管理
EOL
Linux
Valkey 升到 9.1 就回不去了:RDB 头从 REDIS0011 变成 VALKEY080,旧二进制只回一句 Can't handle RDB format version 80
编程
Valkey 升到 9.1 就回不去了:RDB 头从 REDIS0011 变成 VALKEY080,旧二进制只回一句 Can't handle RDB format version 80
2026-11-11 20:02:45
Valkey 7.2/8.x 写 RDB 11,9.0/9.1 写 RDB 80,9.2 RC 写 81:升级后旧二进制只报 Can't handle RDB format version 80。含 rdb-version-check relaxed 的真实边界、9.0 恒发 RDB 80、9.1 降级发 11 的两个 abort 条件、9.1.0–9.1.2 的 listpack 分段 bug、DUMP/RESTORE 报 payload version 错,以及 go-redis 与 HELLO/INFO 的客户端破坏性变更和可回滚升级步骤。
Valkey
Redis
运维
数据库
升级
nf_conntrack: table full 排障:count/max 看不出丢包,判据在 drop 列与 hashsize
编程
nf_conntrack: table full 排障:count/max 看不出丢包,判据在 drop 列与 hashsize
2026-11-12 00:04:36
应用侧只报 i/o timeout、connection refused,真正线索是 dmesg 里的 nf_conntrack: table full, dropping packet。这篇讲清判据:先看 /proc/net/stat/nf_conntrack 的 drop、early_drop、insert_failed 累计列,而不是盯 count/max 使用率;再讲 max 默认等于 buckets、只加 max 不加 hashsize 只加长链、buckets 只在初始 netns 可写、容器每 netns 独立表导致宿主机看不出、sysctl -p 在模块未加载时静默失败,以及止血与找源的顺序。
运维排障
nf_conntrack
netfilter
网络排障
Linux运维
MySQL 半同步复制:`enabled=1` 但 `status=0`,四处静默降级与 ACK 的真实边界
编程
MySQL 半同步复制:`enabled=1` 但 `status=0`,四处静默降级与 ACK 的真实边界
2026-11-14 00:03:55
rpl_semi_sync_source_enabled=1 而 Rpl_semi_sync_source_status=0 是常态:超时 10000ms 静默转异步、恢复不自动、wait_no_replica 默认 ON、崩溃重启自动提交这四个点,加上 ACK 只代表 relay log 已写(sync_relay_log 默认 10000),决定半同步只能约束等待上限,不能当主从一致性保障。
主从一致性
MySQL
半同步复制
主从复制
数据库运维
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
…
69
70
71
72
73
74
75
…
122
下一页
共 122 页
到第
页
确定