#php #mysql #laravel-5.8 #laravel-passport
#php #mysql #laravel-5.8 #laravel-passport
Вопрос:
Я пытаюсь установить laravel passport на свой веб-сайт laravel 5.8, чтобы реализовать oauth2 и токен доступа для запросов API. Я запустил эту команду, composer require laravel/passport
но я получаю ошибку, и я знал, что последняя версия Laravel Passport прекратила поддержку Laravel 5.8, поэтому я попытался установить более раннюю версию passport с помощью этой команды composer require laravel/passport:7.5.1
, теперь я установил, но затем, когда я запускаю следующую команду php artisan migrate
, я получаю следующую ошибку —
Выполняется миграция: 2016_06_01_000001_create_oauth_auth_codes_table
Исключение IlluminateDatabaseQueryException: SQLSTATE[HY000]: Общая ошибка: Поле ‘id’ 1364 не имеет значения по умолчанию (SQL: вставить в
migrations
(migration
,batch
) значения (2016_06_01_000001_create_oauth_auth_codes_table, 2))
Я проверил базу данных и увидел только одну таблицу, созданную oauth_auth_codes, после ошибки я не продолжил выполнение команды php artisan passport:install
.
Итак, какие шаги я предпринимаю, чтобы установить laravel passport на мой веб-сайт laravel 5.8 со всеми необходимыми таблицами??. Так что я реализую сервер oauth2 и токены, когда запрос поступает на конечные точки моего сайта laravel API. Пожалуйста, ответьте подробнее, это сложный проект, который у меня сейчас есть.
Комментарии:
1. Можете ли вы показать свою миграцию?
2. @sobir извините, что показать? я зашел в базу данных-> папка миграции, и я не вижу никакого файла 2016_06_01_000001_create_oauth_auth_codes_table
3. Эксперты, пожалуйста.
Ответ №1:
С версией Laravel 5.8 установка passport в соответствии с документацией laravelhttps://laravel.com/docs/5.8/passport#introduction не будет завершено. Что вам нужно иметь для успешного запуска passport в laravel 5.8, пожалуйста, выполните следующие действия:
- Установите Passport (вы это уже сделали) с помощью: composer требует laravel / passport:7.5.1.
-
Теперь перед переносом: поместите приведенный ниже код в composer.json как: «paragonie / random_compat»: «2.*» . Вы также можете видеть на рисунке ниже.
-
Теперь вам нужно написать в терминале как : composer update (теперь все готово).
Спасибо. Я уверен, что это сработает для вас. 🙂
Комментарии:
1. дайте мне знать, Кару Рой, решило ли это вашу проблему?
2. Тем не менее, я получил ту же ошибку!. Что на самом деле делает пакет paragonie / random_compat? и запуск команды composer update обновил многие зависимые пакеты, что тоже рискованно.
3. как я уже говорил выше, в laravel 5.8 паспорт не может быть установлен непосредственно после документации. Так что пакет paragonie / random_compat является обязательным для использования драйвера passport. Все в порядке, если вы не хотите использовать обновление composer. Вы можете просто использовать composer require paragonie/random_compat:>= 2 для получения дополнительной информации: github.com/paragonie/random_compat когда проблема будет решена, поставьте мне зеленую галочку, сэр :). Спасибо
4. да, я знаю, но я протестировал способ, который вы сказали, используя команду composer update, но ошибка все еще появляется!
5. вам следует выполнить новую установку passport, иначе в вашем коде появятся другие ошибки