ThinkPHP 无7.1版本,最新稳定版为TP8,当前主流是TP6;缓存目录默认为runtime/cache/,由config/cache.php中'path'配置决定,可通过echo \think\facade\Cache::getCachePath()获取实际路径。

ThinkPHP 并没有 7.1 版本——官方最新稳定版是 ThinkPHP 8(2026年已广泛使用),而 TP6 是当前主流生产版本。你提到的“7.1”极可能是混淆了 PHP 版本号(如 PHP 7.1) 和 ThinkPHP 版本号。下面按两种常见真实场景分别说明缓存目录定位方法:
确认你用的是 ThinkPHP 6 或 8
缓存目录默认由 File 缓存驱动控制,路径由配置项 DATA_CACHE_PATH 决定:
- 未显式配置时,系统默认为
runtime/cache/(位于项目根目录下的runtime文件夹内) - 该路径在
config/cache.php中可查看或修改,关键配置项是:'path' => env('CACHE_PATH', runtime_path('cache/') . '/'), - 运行
php think clear后,runtime/cache/下的文件会被清空,可借此验证是否是实际缓存目录
如果你在用 File 缓存且想快速找到物理位置
直接在项目根目录执行以下命令(Windows / macOS / Linux 均适用):
-
ls -la runtime/cache/(Linux/macOS) -
dir runtime\cache(Windows CMD) - 或打开资源管理器,导航到项目根目录 →
runtime→cache文件夹
注意:该目录需有写入权限,若为空或报错“Permission denied”,说明缓存可能被禁用、切换到了 Redis/Memcache,或 runtime 权限未设好。
立即学习“PHP免费学习笔记(深入)”;
如何判断当前用的是哪种缓存类型
查 config/cache.php 中的 'default' 配置:
- 如果是
'type' => 'file',就走上面的runtime/cache/ - 如果是
'type' => 'redis'或'memcache',缓存不落地为文件,自然没有“缓存目录”概念 - 可通过代码临时验证:
dump(S('test_key', 'test_value', 3600)); dump(S('test_key'));,能读出值即缓存生效
小技巧:一键输出当前缓存路径
在任意控制器或命令行中加入这段调试代码:
echo \think\facade\Cache::getCachePath();
它会直接打印出当前 File 缓存的实际绝对路径,比如:/var/www/html/myapp/runtime/cache/



















