質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

MongoDB

MongoDBはオープンソースのドキュメント指向データベースの1つです。高性能で、多くのリトルエンディアンシステムを利用することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Authentication

Authentication(認証)は正当性を認証する為の工程です。ログイン処理等で使われます。

Q&A

1回答

917閲覧

Laravel9で、PassportとmongoDBを使う方法について

heuheiheihei

総合スコア0

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

MongoDB

MongoDBはオープンソースのドキュメント指向データベースの1つです。高性能で、多くのリトルエンディアンシステムを利用することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Authentication

Authentication(認証)は正当性を認証する為の工程です。ログイン処理等で使われます。

0グッド

1クリップ

投稿2022/08/19 02:10

前提

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 534if ($this->pretending()) { 12 535return true; 13 536} 14 53715538$statement = $this->getPdo()->prepare($query); 16 53917 540$this->bindValues($statement, $this->prepareBindings($bindings)); 18 54119 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)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ちゃんとメッセージを読めば、

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.

ってあるから、実行するcomposerコマンドを見直ししたら良いと思った。

せっかくなので、

GitHub - designmynight/laravel-mongodb-passport: A package to get Laravel Passport working with MongoDB

Laravel version Compatibility あたりや、Releasesも読んだら良いかと。

投稿2022/08/19 03:39

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

heuheiheihei

2022/08/24 01:18

ありがとうございます! 記載していただいた内容で試したり、`designmynight/laravel-mongodb-passport`のGithubを読んだりした所、どうやらLaarael9では使えなさそうだったので、Laravel8で試したいと思います!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問