好的,我刚刚开始使用 Lumen,我正在尝试使用 Auth,但是调用 Auth::check 或 Auth 的任何其他函数.. 会导致以下错误致命错误:在第 52 行的供应商\照明\缓存\MemcachedConnector.php 中找不到类“Memcached”。
我不想使用 Memcached 以前从未使用过它。
我在中禁用了它.env文件并设置缓存驱动程序 and 会话驱动程序到数组,但仍然显示相同的错误。
我决定不再使用 Auth 并使用会话/令牌手动处理我的身份验证,但启用 MiddleWare StartSession 会导致相同的错误。
$app->middleware([
// 'Illuminate\Cookie\Middleware\EncryptCookies',
// 'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse',
'Illuminate\Session\Middleware\StartSession',
// 'Illuminate\View\Middleware\ShareErrorsFromSession',
// 'Laravel\Lumen\Http\Middleware\VerifyCsrfToken',
]);
如果有人能真正帮助我,我会很高兴
EDIT
深入了解框架之后
我将会话驱动程序名称硬编码在SessionManager
班级
在方法内getSessionConfig
public function getSessionConfig()
{
$this->setDefaultDriver("cookie");//I added this line
return $this->app['config']['session'];
}
虽然它有效,但不是一个好的做事方式。
没有配置文件,我相信所有配置都写在.env文件,但我真的不知道为什么session_driver和cache_driver默认为memecached,即使在更改它之后也是如此.env然后跑了composer dump-autoload
...流明:(
EDIT这是我的.env file
APP_ENV=local
APP_DEBUG=true
APP_KEY=SomeRandomKey!!!
APP_LOCALE=en
APP_FALLBACK_LOCALE=en
DB_CONNECTION=mysql
DB_HOST=localhost
DB_DATABASE=test
DB_USERNAME=root
DB_PASSWORD=
CACHE_DRIVER=array
SESSION_DRIVER=cookie
QUEUE_DRIVER=database
我已经在 bootstrap/app.php 中取消注释了这一行
Dotenv::load(__DIR__.'/../');
我的数据库配置运行良好,因此 .env 文件已加载
很好。