启用模板缓存需同时开启tpl_cache配置并关闭app_debug模式,否则缓存无效;还需确保runtime/temp目录可写,并建议运行think optimize系列命令优化整体性能。

安装 ThinkPHP5.0.24 后开启模板缓存,核心是两件事:启用编译缓存机制 + 关闭调试模式。不改这两项,模板每次请求都会重新解析,性能优化基本无效。
确认并启用 tpl_cache 配置
模板缓存本质是把模板文件(如 index.html)编译成原生 PHP 代码,存在 runtime/temp/ 下,后续直接执行,跳过语法分析。
- 打开
application/config.php(TP5.0 默认配置入口) - 在
'template' => [ ]数组内添加或确保存在:'tpl_cache' => true - 检查
runtime/temp/目录是否可写(Linux 常见权限问题,可用chmod -R 755 runtime或777临时测试)
关闭 app_debug 模式
调试模式开启时,框架会强制校验每个模板文件的修改时间,并可能重编译——这会让 tpl_cache 形同虚设。
- 在同一份
config.php中,将:'app_debug' => true
改为:'app_debug' => false - 该设置必须生效,否则缓存不会真正起作用
生成辅助缓存提升整体效率
模板缓存只是其中一环。部署前建议一次性运行以下命令(在项目根目录执行),减少运行时开销:
-
php think optimize:autoload—— 生成类库映射,加快自动加载 -
php think optimize:config—— 编译配置为 PHP 数组,避免重复解析 -
php think optimize:schema—— 缓存数据表字段信息,省去每次查 schema -
php think optimize:route—— 编译路由规则,大幅提升匹配速度
可选:设置缓存有效期与路径
默认模板缓存永久有效,但你可按需控制更新节奏:
- 在
template配置中加:'tpl_cache_time' => 3600(单位秒,1 小时后检查模板是否改动) - 指定缓存目录(如隔离存储):
'cache_path' => '../runtime/cache_template/'(确保路径真实存在且可写) - 手动清空缓存只需删掉
runtime/temp/下所有.php文件
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











