开启路由缓存需三步:执行php think optimize:route命令生成runtime/route.php;确保config/route.php中'url_route_on'=>true;清理runtime/route/目录并保证可写权限。

开启路由缓存不是“安装后点一下就生效”的操作,而是需要明确执行命令、确保环境就绪、并配合配置调整的三步动作。不运行命令,路由缓存就不存在;不清理旧缓存,新规则就不会被加载;不检查权限和路径,命令可能静默失败。
确认路由功能已启用
在 config/route.php 或 app/config/app.php(TP5.1.41 多数用前者)中,确保有这两项配置:
-
'url_route_on' => true(开启路由系统) -
'url_route_must' => false(可选,若需强制只走定义路由才设为 true,但非缓存前提)
执行路由缓存生成命令
在项目根目录下运行:
php think optimize:route
成功后会在 runtime/route.php 生成一个编译后的路由文件。这是唯一有效的缓存形式——它把全部路由规则转成 PHP 数组,跳过每次请求时的正则匹配与解析开销。
开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。
检查并清理旧缓存
如果之前跑过该命令,或修改过路由后没重跑,必须手动清理:
- 删除整个
runtime/route/目录(不只是清空内容) - 确保
runtime/目录及其子目录可写(Linux 常见问题:权限为 755 但属主不对) - 不要删
runtime/route.php以外的缓存文件来“试试看”,它不参与路由匹配
验证是否生效
- 访问任意已定义路由,查看响应时间是否有明显下降(尤其在大量路由规则时)
- 检查
runtime/route.php文件修改时间是否与你执行命令的时间一致 - 若仍走隐式路由(如
/index/index/index能访问但/index不能),说明url_route_must未生效或缓存未更新,优先重做上一步
不复杂但容易忽略
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










