查找问题与解决方法
网站正常,邮件客户端却连不上:邮件主机名不能走普通 Cloudflare 代理
网站可用但 SMTP、IMAP 连接失败,核对邮件主机名是否返回普通 Cloudflare 代理地址。分别检查 MX、客户端入口、A/AAAA、TLS 和认证。
卸载 Docker Desktop 后拉取镜像报 docker-credential-desktop 找不到
从 Docker Desktop 切换到 Linux Engine 后,旧凭据助手配置可能导致镜像拉取失败。核对客户端配置路径、助手优先级与 PATH,再迁移到可用存储,避免无意把凭据改存配置文件。
MongoDB 加上业务库名后 Authentication failed:核对 authSource
同一 MongoDB 账号不带库名可连接,指定业务库后认证失败,检查认证库、用户所属库与角色,避免删除数据卷或一律改成 admin。
Git 新建分支时执行 switch 报 invalid reference
新分支名在本地和远程跟踪引用中都不存在时,git switch 分支名可能报 invalid reference。用小写 -c 创建,明确起点,并区分远程分支自动猜测与强制创建 -C 的行为。
PostgreSQL 物化视图有索引,仍报 cannot refresh concurrently
PostgreSQL 并发刷新物化视图需要合格的唯一索引,已有 GIN 搜索索引并不够。核对索引有效性、行粒度和填充状态,再安排建索引与刷新,避免用删除数据或重置视图绕过错误。
Bash 用 [ ! -a 文件 ] 判断不存在却总进入真分支
Bash 的三参数 test 优先把 -a 解析为逻辑与,使非空文件名不再接受存在性测试。改用 -e,并区分悬空链接和路径访问失败。
PostgreSQL 允许空值的状态列写入 NULL 仍报 CHECK 冲突
区分 SQL 空值与字符串 NULL,核对参数类型及导入标记,在保留 CHECK 约束的前提下修正输入。
Python 再次调用 logging.basicConfig 后,日志仍写到原来的位置
root 已有 handler 时,basicConfig 默认不会覆盖配置。先确认配置来源,优先在启动阶段只配置一次;需要重配时明确 force 的版本与关闭旧 handler 的影响。
Nginx 把 PHP-FPM 接口的 500 JSON 换成 HTML 错误页
PHP 接口已经返回状态码 500 和 JSON 错误内容,客户端收到的却是站点统一的 HTML 错误页。正常请求仍是 JSON,只有失败请求被替换时,应核对处理该接口的 fastcgi_intercept_errors 和 error_page,而不是给 HTML 强行加一个 JSON 类型。
在子目录执行 git clean 后,其他目录的文件没有清理
在 src 等子目录执行 git clean 后,其他目录的未跟踪文件可能仍阻止切换分支。确认工作区根目录,用 git -C 在正确位置预览指定路径,备份后处理冲突文件,并区分忽略文件和嵌套仓库。
Unbound DoT 断电后解析失败:先核对时钟与证书有效期
断电重启后 Unbound DoT 解析失败,先核对 UTC 与证书有效期,再检查校时服务、启动依赖和有条件的 Chrony 跳变,保留上游身份验证。
SQLite 查询后写入报 database is locked:检查未关闭的 DataReader
连接和 command 已关闭仍可能有读取路径未结束;检查 reader、显式事务及外部编辑,区分忙等待和 WAL 的能力边界。
自建裸仓库推送 LFS 报 objects/batch 404:检查 LFS 服务
自建裸仓库推送 LFS 的 Batch 请求返回 404,确认服务与端点,区分客户端 install、服务部署和访问资格,再验证完整对象上传下载。
sed -i 后符号链接变成普通文件:原地编辑会替换路径
GNU sed -i 把符号链接换成普通文件时,核对链接与最终目标,按 --follow-symlinks 处理,并分别保留链接关系和目标内容备份。
PostgreSQL 在 SET 左侧使用表别名,报 column does not exist
PostgreSQL UPDATE 的赋值目标不能带表别名前缀。删除 SET 左侧的限定,保留右侧表达式和 WHERE 中的别名,并区分复合字段路径与普通列。
MongoDB C# 更新报 immutable field _id:查询投影不会禁止写入 ID
C# 查询排除 _id 后仍可能通过反射 Set 写入映射属性。核对最终更新定义,用允许更新的字段构造请求,并保留目标 ID。
MongoDB find 能读 secondary,db.command 却报 not primary:显式传递 readPreference
MongoDB Node 驱动连接 secondary 后,普通查询正常但 db.command 报 not primary 时,把 readPreference 放进第二参数,保留命令支持、权限和复制一致性条件。


