Q&A
前提
LaravelをAPIとして用いフロントにNext.jsを用いるSPAの手法で開発を行なっており、
環境構築に、Dockerを使用しています。
認証の機能は、Laravelのパッケージである、Passportを用いようとしています。
ここに質問の内容を詳しく書いてください。
(例)
ます。
LaravelとMongoDBの接続はできている状態で、LaravelのAPI認証のパッケージであるPassportを実装しようと、以下のコマンドまで進んだところエラーが発生しました。
php
1php artisan passport:install
実現したいこと
ここに実現したいことを箇条書きで書いてください。
- PassportをDBがmongoDBでも実装したい。
発生している問題・エラーメッセージ
- Passportのinstall時に、エラーが出る。
php
1php artisan passport:install 2 3Deprecated: PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line 0 4Encryption keys already exist. Use the --force option to overwrite them. 5 6 Error 7 8 Call to a member function prepare() on null 9 10 at vendor/laravel/framework/src/Illuminate/Database/Connection.php:538 11 534▕ if ($this->pretending()) { 12 535▕ return true; 13 536▕ } 14 537▕ 15 ➜ 538▕ $statement = $this->getPdo()->prepare($query); 16 539▕ 17 540▕ $this->bindValues($statement, $this->prepareBindings($bindings)); 18 541▕ 19 542▕ $this->recordsHaveBeenModified(); 20 21 +38 vendor frames 22 39 artisan:37 23 Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
試したこと
1.こちらのサイトを参考に、mongoに対応しているらしいPassportの導入を試みる
※普通のPassportを、composer removeで削除してから以下の動作を行なった
composer require designmynight/laravel-mongodb-passport Deprecated: PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line 0 Using version ^2.0 for designmynight/laravel-mongodb-passport ./composer.json has been updated Running composer update designmynight/laravel-mongodb-passport Loading composer repositories with package information Updating dependencies Your requirements could not be resolved to an installable set of packages. Problem 1 - designmynight/laravel-mongodb-passport[v2.0.0, ..., v2.0.1] require illuminate/support ^5.5 || ^6.0 -> found illuminate/support[v5.5.0, ..., 5.8.x-dev, v6.0.0, ..., 6.x-dev] but these were not loaded, likely because it conflicts with another require. - Root composer.json requires designmynight/laravel-mongodb-passport ^2.0 -> satisfiable by designmynight/laravel-mongodb-passport[v2.0.0, v2.0.1]. You can also try re-running composer require with an explicit version constraint, e.g. "composer require designmynight/laravel-mongodb-passport:*" to figure out if any version is installable, or "composer require designmynight/laravel-mongodb-passport:^2.1" if you know which you need. Installation failed, reverting ./composer.json and ./composer.lock to their original content.
補足情報(FW/ツールのバージョンなど)
使用言語、DB、フレームワーク、ツール
バックエンド言語:PHP(ver 8.0.21)
フレームワーク: Laravel9
フロントエンド:JS(Next.js)
DB:mongoDB(ver 5.0.3)
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2022/08/24 01:18