Laravel5.5运行php artisan passport:install报client_id非空约束错误求助
问题排查与解决
执行php artisan passport:install时出现client_id cannot be null错误,结合你的Laravel 5.5、PHP 7.1、Passport 2.0.4环境,问题通常出在以下几个方面:
Passport基础配置遗漏
确认已完成必要的初始化步骤:- 检查
config/app.php中是否注册了Laravel\Passport\PassportServiceProvider::class服务提供者 - 确保已经执行
php artisan migrate生成所有Passport依赖的数据表(包括oauth_clients),oauth_personal_access_clients的client_id必须关联oauth_clients中存在的记录
- 检查
版本兼容性不匹配
Laravel 5.5对应的Passport适配版本是^4.0,你使用的2.0.4版本过低,版本差异会导致内部逻辑无法正确生成个人访问客户端。解决步骤:- 修改
composer.json中laravel/passport的版本为"laravel/passport": "^4.0" - 执行
composer update laravel/passport完成升级 - 重新运行
php artisan passport:install
- 修改
迁移过程异常
如果之前的迁移未完整执行,oauth_clients表可能缺少必要数据:- 回滚Passport相关迁移:
php artisan migrate:rollback --path=vendor/laravel/passport/database/migrations - 重新执行迁移:
php artisan migrate - 再次运行安装命令
- 回滚Passport相关迁移:
配置缓存干扰
配置缓存可能导致服务提供者未正确加载,执行php artisan config:clear清除缓存后,重新尝试安装命令
内容的提问来源于stack exchange,提问作者Saani
相关产品推荐
相关产品推荐

