【问题标题】:Laravel 5.4 - Installing PassportLaravel 5.4 - 安装护照
【发布时间】:2017-12-10 05:02:49
【问题描述】:

我正在尝试在 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


    【解决方案1】:

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

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

    Laravel\Passport\PassportServiceProvider::class,
    

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

    php artisan migrate
    

    只有这样才能运行

    php artisan passport:install
    

    【讨论】:

    • 我已经完成了 Laravel 文档的教程,所以我已经完成了所有这些但它不起作用
    【解决方案2】:

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

    解决办法:

    修改AppServiceProvider.php文件:

    use Illuminate\Support\Facades\Schema;
    

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-31
      • 1970-01-01
      • 2018-04-18
      • 1970-01-01
      • 2018-12-20
      • 2021-01-15
      • 2017-06-21
      • 2017-10-05
      相关资源
      最近更新 更多