多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 遇到的问题 1、生产环境大量使用了redis作为缓存驱动,本地开发环境不支持redis。如jwt验证等。 ## 解决方案 1、我们在线上引入了Yaconf来对配置进行管理,将Redis信息写进Yaconf管理的配置文件,然后在TP的cache配置中,使用以下代码来完成 ``` $config=[ 'type' => 'complex', 'default' => [ 'type' => 'file', // 全局缓存有效期(0为永久有效) 'expire'=> 0, // 缓存前缀 'prefix'=> 'think', // 缓存目录 'path' => '../runtime/cache/', ], 'redis' => [ 'type' => 'file', // 全局缓存有效期(0为永久有效) 'expire'=> 0, // 缓存前缀 'prefix'=> 'think', // 缓存目录 'path' => '../runtime/cache/', ], ]; return class_exists(\Yaconf::class)?\Yaconf::get('test.cache'):$config; ``` 这样在本地,使用`Cache::store('redis')`使用的是文件驱动,线上使用的redis驱动。 同样,其他的一些冲突也是用此类方法解决。