thinkphp 5.0 缓存配置必须写在 application/config.php 的 'cache' => [...] 中,不可放 config/cache.php;type 为必需项,缺失将导致 cache::set() 静默失败。

ThinkPHP 5.0 的缓存配置位置取决于具体版本分支,不能一概而论:
TP5.0(早期正式版,如5.0.0–5.0.24):
缓存配置统一写在application/config.php中,通常位于'cache' => [...]配置项下。
官方未强制要求独立config/cache.php,该文件在 TP5.0 中不存在或不被框架自动加载。TP5.1 及之后(含 5.0.x 后期兼容补丁版):
开始支持并推荐将缓存配置单独放在config/cache.php,返回标准数组配置。
此时若仍写在application/config.php,部分功能(如模型查询缓存、自动驱动识别)可能失效。
关键区别在于框架启动时的加载逻辑:
TP5.0 的 think\App::initCommon() 会读取 application/config.php 的 cache 键;
TP5.1+ 则优先加载 config/cache.php,且 application/config.php 中的 cache 配置会被忽略。
所以准确回答是:
✅ TP5.0 应配在 application/config.php
❌ 不要新建 config/cache.php —— 框架不会读它
⚠️ 若误建了 config/cache.php,它不会生效,也不会报错,容易误以为配置成功
常见错误配置方式:
- 把 Redis 配置写进
config/cache.php,但项目实际是 TP5.0 版本 → 缓存静默不生效 - 在
application/config.php里只改了'DATA_CACHE_TYPE'(这是 TP3 的写法)→ TP5.0 完全不识别
正确示例(TP5.0 application/config.php):
'cache' => [
'type' => 'Redis',
'host' => '127.0.0.1',
'port' => 6379,
'password' => '',
'select' => 0,
],
注意:'type' 是必需项,缺了会导致 Cache::set() 等操作直接返回 false 或静默失败。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











