Windows 下 Lumen 5.1 有时报错找不到 Memcached,并没有使用 Memcached

有时会报memcached not found,不是每次访问这个接口都会,有时会,有时不会。谷歌了下,很多说env配置文件那,我看了下是这样设置还是会。项目中没有使用到memcached,是哪里引起的呢

这是报错的截图

file
env配置文件的

file

小怪兽
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 4
Summer

问题很清晰。

Lumen 默认情况下使用的是 Memcache 服务,见 源代码:

'default' => env('CACHE_DRIVER', 'memcached'),

虽然你在 env 里面设置了使用 file 来缓存,但是 Windows 的 .env 加载有问题是出了名的,会出现偶尔加载不上的情况,加载不上的时候就会使用 memcached ,而你没有装 Memcache,就会报错。

解决方法:

  1. 使用 Homestead 环境开发(强烈推荐);
  2. 修改 /config/cache.php 文件:

'default' => env('CACHE_DRIVER', 'memcached'),

为以下:

'default' => env('CACHE_DRIVER', 'array'),

7年前 评论
Summer

在你这种情况下,应该改为 file,于 env 文件里保持一致。

'default' => env('CACHE_DRIVER', 'file'),

7年前 评论
小怪兽

@Summer 我改了,因为之前看日志我就发现读取API_DOMAIN这些配置有报错记录,我就在想可能这也没加载到,于是读取了memcached。现在才知道原来是win下是这样的,谢咯

7年前 评论
小怪兽

@Summer 恩恩 ,修改了

7年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!