thinkphp5.0.24缓存配置核心是修改cache.php中驱动类型、显式指定stores.file.path路径(如runtime_path.'cache'.ds)、启用开关,并确保runtime/cache目录存在且web用户可写、不在public下;默认file驱动,支持切换redis;需避免缓存键含特殊字符,验证可通过cache::set/get及检查生成文件。

ThinkPHP5.0.24安装后配置缓存,核心是修改缓存驱动类型、指定存储路径、启用开关,并确保 runtime/cache 目录可写。不改默认配置也能用,但生产环境必须显式配置并避开公共可访问路径。
确认缓存目录权限和位置
TP5.0.24 默认使用 file 驱动,缓存文件写入 runtime/cache/ 目录。需确保:
- 该目录存在且 Web 服务器用户(如 www-data 或 nginx)有写权限
- 不能放在 public/ 下,否则可能被直接访问(例如通过 /runtime/cache/xxx.php)
- 若已部署上线,建议检查 Nginx/Apache 是否已屏蔽 runtime/ 下的 .php 文件访问
修改 config/cache.php 配置文件
打开 application/config/cache.php(若不存在可复制 thinkphp/tpl/config/cache.php 创建),按需调整以下关键项:
- default:设为 'file'(默认值,可不改)
-
stores.file.path:明确指定缓存路径,例如
'path' => RUNTIME_PATH . 'cache' . DS -
stores.file.prefix:可加项目标识前缀,避免多应用混用时冲突,如
'prefix' => 'tp524_' - 如需更高性能,可切换为 redis:将 default 改为 'redis',并补全 host/port/select 等参数
在控制器或模型中启用缓存
配置生效后,即可调用 Cache 类操作:
- 写缓存:
Cache::set('user_123', $data, 3600); - 读缓存:
$data = Cache::get('user_123'); - 清空某键:
Cache::rm('user_123'); - 清空全部(慎用):
Cache::clear();(仅清空当前 store)
注意:缓存键名不要含特殊字符或用户输入内容,避免注入或路径穿越风险。
验证缓存是否正常工作
最简验证方式:
- 在任意控制器方法中加入:
Cache::set('test_key', 'ok_' . time(), 60); echo Cache::get('test_key'); - 刷新页面,若输出类似
ok_1758518340,说明写入与读取均成功 - 再检查 runtime/cache/ 目录下是否生成了对应哈希命名的 .php 文件(内容为序列化数据)
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











