CakePHP5系で認証機能のAuthenticationプラグインをインストール・エラー発生注意
2025/01/31
CakePHP5系で認証機能のAuthenticationプラグインをインストールしようとするとエラーが発生する。その対応方法を解説
CakePHP5系で認証機能プラグイン「Authentication」を composerを使用してインストールする際のコマンドは下記になります。
# composer require "cakephp/authentication:^3.0"
CakePHP5オフィシャルの ChiffonBookの記述が間違っている
CakePHP5 ChiffonBook CMS チュートリアル – 認証
https://book.cakephp.org/5/ja/tutorials-and-examples/cms/authentication.html
CakePHP5 ChiffonBook シンプルな認証と認可のアプリケーション
https://book.cakephp.org/5/ja/tutorials-and-examples/blog-auth-example/auth.html#id3
上記の CakePHP5のオフィシャルサイトのマニュアルには、Authenticationをインストールする際のコマンドとして下記が紹介されています。
# composer require "cakephp/authentication:^2.0"
ですが、上記のコマンドを実行すると下記のようなエラーが発生します。
Problem 1
- cakephp/authentication[2.0.0, ..., 2.4.0] require cakephp/core ^4.0 -> found cakephp/core[4.0.0, ..., 4.5.8] but these were not loaded, likely because it conflicts with another require.
- cakephp/authentication[2.5.0, ..., 2.9.0] require cakephp/http ^4.0 -> found cakephp/http[4.0.0, ..., 4.5.8] but these were not loaded, likely because it conflicts with another require.
- cakephp/authentication[2.10.0, ..., 2.10.2] require cakephp/http ^4.4 -> found cakephp/http[4.4.0, ..., 4.5.8] but these were not loaded, likely because it conflicts with another require.
- cakephp/authentication 2.11.0 requires cakephp/http ^4.5 -> found cakephp/http[4.5.0, ..., 4.5.8] but these were not loaded, likely because it conflicts with another require.
- Root composer.json requires cakephp/authentication ^2.0 -> satisfiable by cakephp/authentication[2.0.0, ..., 2.11.0].
Installation failed, reverting ./composer.json and ./composer.lock to their original content.
メッセージの内容は、「CakePHP5系では Authentication Ver.2系は使えませんよ」というものです。
CakePHP5系では Authentication Ver.3系を使う必要がある
つまり、最初に書きましたが、CakePHP5系では Authentication Ver.3系を使う必要がありますので、実行するコマンドは下記となります。
# composer require "cakephp/authentication:^3.0"
また、Githubにある Authenticationのリリースノートは下記になります。
それぞれの CakePHPのバージョンに合わせた Authenticationを確認しましょう。
CakePHP5 ChiffonBook Authentication Releases
https://github.com/cakephp/authentication/releases
CakePHP5の関連記事
CakePHPのpostlinkで生成した削除リンクをクリックしても処理が実行されない対処法CakePHP4、5のユーザ認証でID、PASS以外の削除フラグなども条件加える方法
CakePHP4、CakePHP5系の認証処理でログインの有無の確認、ユーザ情報の取得の方法
CakePHP4、5で$_SERVERと同じようにURIを取得する「getUri()」の紹介
getParam('action')で取得するアクション名は別関数に移動しても不変CakePHP4系、CakePHP5系のexists()でカラムを指定して値の有無をチェックする方法解説
CakePHP4、5のnewEmptyEntityで作成したオブジェクトは空なのか、確認してみた
CakePHP4、5でSELECT telephone as tel FROM usersの様にasでカラムに別名を付ける方法
CakePHP4、5の認証処理で認証が通らない際の確認方法と確認箇所の紹介
CakePHP5系で認証機能のAuthenticationプラグインをインストール・エラー発生注意
その他の「CakePHP5」に関する記事一覧
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
CakePHP3のInsert On Duplicate Key Update(upsert)構文を解説・バルク処理も
CakePHP3で Insert … On Duplicate Key Update構文(upsert)を実行する方法を解説。バルク処理の方法も用意されているため大量処理の場合も対応可能。
-
-
CakePHP3で他のテーブルのマスタテーブルからセレクトボックス(プルダウンリスト)を作る
他のテーブルのマスタのレコードからプルダウンリストを作成し、選択できるようにするサンプルプログラムと解説。ORMの設定によりデータベースの値を取得し、配列を作成し optionsに与える。
-
-
CakePHP3のfriendsofcake/searchでブックマークチュートリアルのタグ検索を実装
CakePHP3のCookbookにあるブックマークチュートリアル。ここで紹介されているタグで検索する処理を検索プラグイン「friendsofcake/search」で実現する方法を解説しました。
-
-
CakePHP3のアソシエーションでJOINのタイプのLEFT、INNERを切り替えながら使う方法
CakePHP3でテーブルのアソシエーションしたデータの取得をコントローラー側でINNERかLEFTを指定する方法を解説。TableファイルにINNERで指定していてもController側で変更ができる。
-
-
CakePHP3のタイムゾーンを協定世界時UTCから日本標準時間JSTにずれを変更する方法
CakePHP3の標準設定のタイムゾーンは「UTC(協定世界時)」に設定されている。これを日本標準時に変更する方法(app.php、bootstrap.phpの変更方法)の解説。
-
-
CakePHP3でモデルなしフォームからCSVをアップロードしレコードを更新する方法解説
CakePHP3でCSVファイルをアップロードしレコードを追加、更新する処理の作成方法の解説。モデルとは直接関連しないフォームからCSVファイルをアップロードするため汎用的に使用可能。
-
-
CakePHP4、5の認証処理で認証が通らない際の確認方法と確認箇所の紹介
CakePHP4、5系の認証処理でログイン認証が通らない場合の確認方法、確認箇所を解説。ログ出力し、ステータスを確認するが、ステータスの内容も紹介。それはそのままusernameを変更する際のポイントでもある。
-
-
CakePHP3でcomposerを利用してライブラリ・プラグインをインストールする方法
CakePHP3でcomposerを使ってパッケージ(ライブラリ、プラグイン)をインストールする方法の解説。PHPを使うのはCakePHP3が初めてというような方への使い方から解説。
-
-
CakePHP3で画像・ファイルのアップロード処理を自作・解説付き・その2
ファイルのアップロード機能の自作サンプルコードとその解説のその2。アップロード機能に関連するファイルの更新や削除の処理や画像、フォルダのパスの指定方法などを含めて解説。
-
-
CakePHP3でシェルを作成しコマンドラインから実行・CakePHP2との違い
CakePHP3のシェルスクリプトを作成し、コマンドラインから実行する方法を解説。複数単語をつなげる場合の対応方法がCakePHP2より制限が厳しくなったのでCakePHP3の命名規則の確認が必要だ。