我已经尝试了Lumen(基于Laravel 5的微型PHP框架)了几个小时,但是我无法在项目中添加中间件,这基本上意味着我无法使用Sessions或CSRF Protection等功能。 。
我的.env看起来像这样:
APP_ENV=local
APP_DEBUG=true
APP_KEY=some32charslongkey
APP_LOCALE=en
APP_FALLBACK_LOCALE=en
DB_CONNECTION=mysql
DB_HOST=localhost
DB_DATABASE=somedbname
DB_USERNAME=someusername
DB_PASSWORD=somepw
QUEUE_DRIVER=database
CACHE_DRIVER=memcached
SESSION_DRIVER=memcached
和我的bootstrap / app.php像这样:
require_once __DIR__.'/../vendor/autoload.php';
Dotenv::load(__DIR__.'/../');
$app = new Laravel\Lumen\Application(
realpath(__DIR__.'/../')
);
$app->withFacades();
$app->withEloquent();
$app->singleton(
'Illuminate\Contracts\Debug\ExceptionHandler',
'App\Exceptions\Handler'
);
$app->singleton(
'Illuminate\Contracts\Console\Kernel',
'App\Console\Kernel'
);
$app->middleware([
// 'Illuminate\Cookie\Middleware\EncryptCookies',
// 'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse',
// 'Illuminate\Session\Middleware\StartSession',
// 'Illuminate\View\Middleware\ShareErrorsFromSession',
// 'Laravel\Lumen\Http\Middleware\VerifyCsrfToken',
]);
require __DIR__.'/../app/Http/routes.php';
return $app;
一旦取消注释$ app-> middleware([...])中的行,该应用程序在任何路线上均不显示任何内容。我是使用.env进行配置的新手,也许我只是忘记添加一些内容,但似乎无法解决此问题。
当您启用了会话中间件时,Lumen现在尝试使用memcached作为您在.env文件中当前设置的内容,如果您进行了类似的更改,则该文件应该可以工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句