Laravel 5.4 - 安装Passport

时间:2017-07-06 09:15:51

标签: mysql laravel laravel-5 oauth

我正试图在Laravel文档的帮助下在我的Laravel 5.4项目上安装护照。但是当我在这个阶段时:

php artisan passport:install

我有这个错误:

[Illuminate\Database\QueryException]
  SQLSTATE[42S02]: Base table or view not found: 1146 Table 'lpo.oauth_clients' doesn't exist (SQL: insert into `oa
  uth_clients` (`user_id`, `name`, `secret`, `redirect`, `personal_access_client`, `password_client`, `revoked`, `upd
  ated_at`, `created_at`) values (, Laravel Personal Access Client, ruEzLmQYSK5RhfzSximBKoupaXaMcRSR4CvXET0o, http://
  localhost, 1, 0, 0, 2017-07-06 08:26:25, 2017-07-06 08:26:25))



  [PDOException]
  SQLSTATE[42S02]: Base table or view not found: 1146 Table 'lpo.oauth_clients' doesn't exist

如果成功,我应该有这样的事情:

Encryption keys generated successfully.
Personal access client created successfully.
Client ID: 1
Client Secret: OUA4IhQj1t3kDRuWZ6N7DQb9h1N3ccXpQw9HS2iz
Password grant client created successfully.
Client ID: 2
Client Secret: oGhkm0EPSjqxJBMkaWNZ6lIuuZoby4ev787yW6cO

之前我做过php artisan migrate我有2个新表:用户和迁移。

感谢您的帮助

2 个答案:

答案 0 :(得分:2)

您很可能跳过了以下一个或两个步骤:

  

接下来,在config / app.php配置文件的providers数组中注册Passport服务提供程序:

Laravel\Passport\PassportServiceProvider::class,
  

Passport服务提供程序在框架中注册自己的数据库迁移目录,因此您应该在注册提供程序后迁移数据库。 Passport迁移将创建应用程序存储客户端和访问令牌所需的表:

php artisan migrate

只有在那之后才能运行

php artisan passport:install

答案 1 :(得分:1)

Laravel 5.4提供了更大的默认字符串长度,这是不允许的。

解决方案:

修改 AppServiceProvider.php 文件:

use Illuminate\Support\Facades\Schema;

将以下行添加到引导方法:

public function boot(){
    Schema::defaultStringLength(150);
}