当你在 wp-content/ 里看到一堆 temp-write-test-*(通常是 0 字节)文件,基本可以判断:这是 WordPress 在判断“能不能直接写入文件系统”时创建的测试文件。WordPress 的 get_filesystem_method() 会用 temp-write-test-... 做写入与属主检测,用来决定采用 direct 还是需要 FTP/SSH 方式更新插件与主题。
下面按“10 分钟定位”的方式,把问题收敛到三大类:权限/属主、缓存目录写入、安全/防篡改拦截。
1. WordPress 出现 temp-write-test 是什么,它在测试什么?

你看到的 WordPress 出现 temp-write-test,本质是 WordPress 的文件系统 API 在做能力探测:
- 能否在指定目录写入临时文件
- 写入后的文件属主(owner)是否与 WordPress 文件属主一致
- 从而判断是否可以安全使用 direct 写入更新文件
如果这个测试失败,常见连带现象是:后台更新时弹出“请输入 FTP 信息”、更新失败、站点健康(Site Health)提示临时目录不可写等。
2. 先用一张表快速判断你属于哪一类
| 你看到的现象 | 更可能的原因 | 优先检查点 |
|---|---|---|
| 更新插件/主题时要求 FTP | WordPress 无法判定 direct | wp-content 可写、属主一致、FS_METHOD 检测 |
wp-content 里 temp-write-test 越来越多 | 写入测试反复触发且失败 | 权限/属主不对,或被防篡改拦截 |
| 只要清缓存就报错或生成 temp-write-test | 缓存插件需要写目录 | wp-content/cache、uploads 权限与属主 |
| 开了安全/面板“防篡改/只读”后立刻出现 | 写入被拦截 | 安全插件、面板防篡改、文件 immutable、SELinux |
3.10 分钟排查清单(按顺序做,命中率最高)
第 1 步(1–2 分钟):确认 temp-write-test 的触发点
回忆你最近做了什么操作后开始出现 WordPress 出现 temp-write-test:
- 更新插件/主题、在线安装插件
- 站点健康里点了修复/检测
- 启用/切换缓存插件(或开启了页面缓存)
- 开启安全插件的“防篡改/文件锁定/只读”功能
这一步的意义是:触发点能直接把你带到“权限/缓存/安全”其中一条路径。
第 2 步(2–4 分钟):检查 wp-content 的属主与权限是否合理
WordPress 官方文档给出了文件权限排查方向(不同环境略有差异,但常见建议是目录可读可执行、文件可读;不要随意 777)。
在服务器上执行(把路径换成你的站点目录):
ls-ld wp-content wp-content/uploads wp-content/plugins wp-content/cache 2>/dev/null
重点看两点:
- 运行 PHP 的用户是谁(php-fpm 常见是
www-data/nginx/apache) wp-content及其关键子目录是否对这个用户可写

如果你是 Nginx + PHP-FPM,可以这样看 PHP-FPM 的运行用户(不同发行版路径不同):
ps aux | grep php-fpm | head
典型修复思路(选一种适合你环境的)
- 站点文件属主本来就应该是某个站点用户:把
wp-content的属主/属组改回站点用户,并确保 PHP 用户对相关目录有写权限(同组写)。 - 你是单站 VPS 且明确 PHP 用户负责写入:把
wp-content的属主改为 PHP 用户更直接。
关键不是“改成谁”,而是:WordPress 写入测试创建的文件属主能匹配 WordPress 文件属主,否则就会继续失败并生成 temp-write-test。
第 3 步(4–6 分钟):排查“缓存目录写入失败”
很多缓存插件会在 wp-content/cache/ 或 uploads/ 写入缓存文件。目录不可写时,你可能会看到写入失败、甚至引发 WordPress 反复探测文件系统能力,从而出现 WordPress 出现 temp-write-test。

你可以做两个快速验证:
- 暂时停用缓存插件(只停用,不卸载),看 temp-write-test 是否停止增长
- 手动检查这两个目录是否可写:
wp-content/cache、wp-content/uploads
如果停用缓存后不再新增,基本就是缓存目录权限/属主问题,修好目录写权限即可。
第 4 步(6–8 分钟):排查安全插件/面板“防篡改”拦截
很多安全插件或面板会提供“网站防篡改/只读保护”。这类功能最容易把 WordPress 的写入测试直接拦掉,导致 WordPress 出现 temp-write-test 反复生成。

按优先级检查:
- 面板是否开启“防篡改/只读/网站加固(禁止写入)”
- 安全插件是否开启“文件锁定/阻止文件变更”
- Linux 文件是否被加了 immutable(只读锁): lsattr wp-content 2>/dev/null 如果看到
i标记,需要先解除(这一步要非常谨慎,确认你知道自己在做什么)
另外,有些站点会在 wp-config.php 里开启禁止在线修改:
DISALLOW_FILE_MODS会禁用插件/主题安装与更新,并同时影响后台文件编辑入口
它不一定直接造成 temp-write-test,但会让你误以为“权限问题”,所以建议你顺手核对一下。
第 5 步(8–10 分钟):必要时用 FS_METHOD 做“临时止血”,再回头治本
WordPress 允许用 FS_METHOD 覆盖自动检测结果,可选值包含 direct/ssh2/ftpext/ftpsockets。
如果你确认服务器权限/属主其实没问题,但 WordPress 仍误判(比如容器/挂载盘属主表现异常),可以临时在 wp-config.php 加:
define('FS_METHOD', 'direct');
注意:官方建议是“只在更新问题时使用;如果无效要移除或改回”。
更稳妥的做法仍然是把 wp-content 的写入权限与属主关系修正确。
4. 总结:
WordPress 出现 temp-write-test 本质是系统在检测是否能直接写入文件,用来决定插件/主题更新方式。排查时优先按三条主线走:先看 wp-content 及 uploads/cache 的权限与属主 是否可写且一致;再看 缓存插件 是否因目录不可写反复触发写入测试;最后检查 安全插件或面板防篡改/只读 是否拦截了写入。把根因修好后,这些临时文件可以清理,若仍持续生成,就说明写入测试还在失败,需要回到权限、缓存与安全拦截继续定位。
| 联系我们 | |
|---|---|
| 教程看不懂?联系我们为您免费解答!免费助力个人,小企站点! |
客服微信
|
| ① 电话:020-2206-9892 | |
| ② QQ咨询:1025174874 | |
| ③ 邮件:info@361sale.com | |
| ④ 工作时间:周一至周五,9:30-18:30,节假日休息 | |






















![表情[wozuimei]-光子波动网 | 专业WordPress修复服务,全球范围,快速响应](https://www.361sale.com/wp-content/themes/zibll/img/smilies/wozuimei.gif)
![表情[baoquan]-光子波动网 | 专业WordPress修复服务,全球范围,快速响应](https://www.361sale.com/wp-content/themes/zibll/img/smilies/baoquan.gif)

暂无评论内容