Laravel 5.4 - 安装Passport

8

我正在尝试按照 Laravel 文档的指引,在我的 Laravel 5.4 项目中安装 passport。但是在执行以下命令时:

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命令,结果新增了两张表:users和migrations。

感谢您的帮助。

2个回答

9

很可能您忽略了下面的一两个步骤:

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

Laravel\Passport\PassportServiceProvider::class,

护照服务提供商会向框架注册自己的数据库迁移目录,因此在注册提供商后应进行数据库迁移。护照迁移将创建应用程序所需的客户端和访问令牌存储表:
php artisan migrate

只有在此之后,您才能运行

php artisan passport:install

我已经完成了Laravel文档的教程,但是它并没有起作用。 - TuxxyDOS

0

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

解决方案:

修改AppServiceProvider.php文件:

use Illuminate\Support\Facades\Schema;

将以下行添加到启动方法中:
public function boot(){
    Schema::defaultStringLength(150);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接