Laravel 5.4 - 安装Passport

问题描述 投票:4回答:2

我正试图在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个新表:用户和迁移。

谢谢你的帮助

mysql laravel laravel-5 oauth
2个回答
3
投票

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

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

Laravel\Passport\PassportServiceProvider::class,

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

php artisan migrate

只有在那之后你才能跑

php artisan passport:install

1
投票

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

方案:

修改AppServiceProvider.php文件:

use Illuminate\Support\Facades\Schema;

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

public function boot(){
    Schema::defaultStringLength(150);
}
© www.soinside.com 2019 - 2024. All rights reserved.