Lumen 杂记

本文档详细介绍了如何在Lumen中安装和配置Redis,包括解决存储路径问题、安装Redis扩展、设置.env文件以及启用跨域请求。此外,还提供了安装laravel-cors包以处理API接口的跨域问题的步骤,包括配置中间件和.env文件。
摘要由CSDN通过智能技术生成

lumen安装

composer create-project --prefer-dist laravel/lumen 项目所在目录(当前目录可以用./)

错误:

Uncaught ReflectionException: Class path.storage does not exist in vendor\laravel
  \framework\src\Illuminate\Container\Container.php:873

原因:某个包里引用了laravel的框架依赖

可以在bootstrap/app.php中添加来解决:

$app = new Laravel\Lumen\Application(
        realpath(__DIR__ . '/../')
);

// 添加2行
// 参考:https://github.com/laravel/lumen-framework/issues/504
//$app->instance('path.config', app()->basePath() . DIRECTORY_SEPARATOR . 'config');
//$app->instance('path.storage', app()->basePath() . DIRECTORY_SEPARATOR . 'storage');
$app->instance('path.config', app()->configPath());
$app->instance('path.storage', app()->storagePath());

lumen的配置文件位置:

vendor\laravel\lumen-framework\config

安装Redis包

composer require predis/predis
composer require illuminate/redis

在bootstrap/app.php添加
$app->withFacades(); // 打开注释
$app->withEloquent(); // 打开注释

$app->instance('path.storage', app()->basePath() . DIRECTORY_SEPARATOR . 'storage'); // 添加
$app->register(\Illuminate\Redis\RedisServiceProvider::class); // 引入新的包需要手动添加ServiceProvider

.env 文件配置
REDIS_CLIENT=predis # 如果有装php的Redis扩展,不配置这项lumen默认使用PhpRedis
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
REDIS_PASSWORD=

lumen解决跨域

安装依赖
composer require barryvdh/laravel-cors

复制配置文件:
\vendor\barryvdh\laravel-cors\cors.php => \config\cors.php

// 修改配置
'paths' => ['api/*'], // 指定路径下的接口跨域
'supports_credentials' => true, // 需要验证

在bootstrap\app.php中注册中间件
$app->configure('cors'); // 引入配置\config\cors.php
$app->middleware([
    \Fruitcake\Cors\HandleCors::class,
]);

$app->routeMiddleware([
    'cors' => \Fruitcake\Cors\HandleCors::class,
]);

$app->register(\Fruitcake\Cors\CorsServiceProvider::class);

请求方法必须是:OPTIONS,并且请求头中必须有字段:Access-Control-Request-Method,否则返回405

输出响应

use Illuminate\Http\Response;

return new Response(['result'=>'ok']);
return new Response(['result'=>'fail'], 400);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值