环境
PHP 7.0.14 + Apache 2.4
配置
1.Lumen 5.4的安装与配置
1-1 安装
通过Lumen安装器
首先,使用 Composer 下载 Lumen 安装包:
1composer global require "laravel/lumen-installer"注:确保已经将
~/.composer/vendor/bin
添加到PATH
中,只有这样系统才能找到lumen
的执行文件。然后使用
lumen new
命令来新建lumen项目:1lumen new blog_ibye_cn通过Composer Create-Project命令
只需要在终端输入:
1composer create-project --prefer-dist laravel/lumen blog_ibye_cn即可。
1-2 配置
在项目的根目录可以看到.env.example
文件,这是该项目的一个配置文件,将该文件复制一份,然后改名为.env
,然后打开.env
文件,在里面找到APP_KEY
项,输入一个app_key,因为lumen不像laravel那样提供app_key的自动生成功能。
2.安装与配置jwt库
2-1 安装与配置
yoGa本人使用的是tymon/jwt-auth,你也可以使用其他的库。
2-1-1 可以通过composer安装:
|
|
2-1-2 修改你的项目/bootstrap/app.php
文件
找到注释为Register Service Providers的地方,在下面添加如下代码:
|
|
这样我们就为我们的应用注册了JWTAuth的服务提供者了。程序启动的时候就会加载它。
2-1-3 生成密钥
注意了,这里就是一个大坑,jwt-auth的文档对lumen的说明很少,很容易被坑了,官方介绍了Laravel 5的配置方法是这样的:
- 执行
php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\JWTAuthServiceProvider"
- 执行
php artisan jwt:generate
在lumen中这样是不行的,第一步已经出错了。
正确的做法应该是这样的:
使用composer安装laravelista/lumen-vendor-publish
1composer require laravelista/lumen-vendor-publish修改
app/Console/Kernel.php
文件1234567891011class Kernel extends ConsoleKernel{protected $commands = [//**************就是添加这句↓************\Laravelista\LumenVendorPublish\VendorPublishCommand::class//**************就是添加这句↑************];protected function schedule(Schedule $schedule){}}执行
php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\JWTAuthServiceProvider"
执行
php artisan jwt:generate
第三步可能会出现错误(感觉lumen一定会出现,laravel就一般不会):
如果出现上图的错误,如果出现错误,就继续看5、6、7
在app目录下创建一个文件JwtAuth.php
1234567891011121314151617181920/*** Created by PhpStorm.* User: yoga* Date: 17/5/6* Time: 21:04*/if ( ! function_exists('config_path')){/*** Get the configuration path.** @param string $path* @return string*/function config_path($path = ''){return app()->basePath() . '/config' . ($path ? '/' . $path : $path);}}在根目录 composer.json 文件内 “autoload” 部分添加自动加载 JwtAuth.php
123"files": ["app/JwtAuth.php"]终端执行
composer dump-autoload
,之后再执行3、4
根目录会多了一个文件config/jwt.php
,这样Lumen5.4+jwt就配置成功了。