エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


CakePHP4、CakePHP5の「warning: DebugKit is disabling...」の対処方法

      2025/01/31

CakePHPのDebugKitに関するワーニングを解消する方法解説

 
CakePHPで開発を行っていると、ローカル環境で「ログファイル(/logs/error.log)」に下記のようなワーニングが出力されていることがあります。
 
2024-01-01 00:00:00 warning: DebugKit is disabling itself as your host test.example.com is not in the known safe list of top-level-domains (localhost, invalid, test, example, local, internal). If you would like to force DebugKit on use the DebugKit.forceEnable Configure option.
 
メッセージの内容は、「DebugKitを使用していいリストにないので無効になってる」というものです。
 
これの解消方法を解説します。
 
 
この記事のポイントとしては、Gitなどのソース管理ツールを利用していても本番環境に影響がない(Git管理下にない)「/config/app_local.php」ファイルに設定する内容となっています。
 
そのため、CakePHP4系、CakePHP5系の記事としていますが、「/config/bootstrap.php」に設定する方法は CakePHP3でも有効ですので、お試しください。
 
 

/config/bootstrap.php に許可するトップレベルドメインを設定する

 
おそらく、「DebugKit」のワーニングに対するオーソドックスな対処方法は、「/config/bootstrap.php」に許可するトップレベルドメインを設定する方法です。
 
対象ファイル:/config/bootstrap.php
 
CakePHP5の場合は 116行目辺りに「if (Configure::read('debug')) {」の記述がありますので、その if文の中に下記を追記します。
 

 
上記の例は「example.com」のように「.com」ドメインを登録するものですので、使用しているドメインに合わせて設定を変更してください。
 
 

/config/bootstrap.php に強制的に許可する設定をする・非推奨

 
前項のトップレベルドメインを設定する方法が推奨されていますが、強制的に許可する設定も用意されています。
公式サイトには、前項の方が安全なのでそちらがオススメ、と書いてありますが。
 
対象ファイル:/config/bootstrap.php
 
前項と同じく、CakePHP5の場合は 116行目辺りに「if (Configure::read('debug')) {」の記述がありますので、その if文の中に下記を追記します。
 

 
 

/config/app_local.php に強制的に許可する設定をする

 
前項の設定は「bootstrap.php」に記述しました。
 
Gitなどのソース管理ツールを使用する場合、「bootstrap.php」ファイルはその管理下にあるファイルとなります。
そのため、本番環境にリリースする場合は「bootstrap.php」に設定した記述を変更する必要もあるかと思います。
 
そのため、Gitなどの管理下にない「app_local.php」に記述することで、影響範囲を開発で使用するローカル環境に留めることができる、という対応方法の紹介です。
 
対象ファイル:/config/app_local.php
 

 
上記の処理を「app_local.php」の最後の方などに追加します。
 
 

DebugKitの記事に関するおまけ

 
「bootstrap.php」に記述した下記の設定を「app_local.php」に記述する方法もあるようですが、いろいろと試してみましたが、私の環境では CakePHP4系、CakePHP5系のいずれも想定の動作はしませんでした。残念...
 

 
 
また、この記事を書くにあたって参考にしたサイトは下記になります。
 
CakePHP4 オフィシャルサイト Debug Kit 設定
https://book.cakephp.org/debugkit/4/ja/index.html#id2
 
CakePHP5 オフィシャルサイト Debug Kit 設定
https://book.cakephp.org/debugkit/5/ja/index.html#id2
 
 

CakePHP4の関連記事

CakePHP4系でJSONレスポンスの処理ではwithStringBodyを使う。3との違い解説
CakePHP4、CakePHP5の「warning: DebugKit is disabling...」の対処方法
MySQL+CakePHPのdate型、datetime型項目は「2999-12-31」までしか扱えない
CakePHP4のFrozenDateで1ヵ月前、先月、今月1日、来月末の日付などを算出する方法
CakePHP4のcake cache clear_allでPermission deniedはパーミッションの変更が必要
CakePHP4のクリエビルダーを使用してOR条件をAND条件でつなぐSQL文を作る方法
CakePHP4のController内でViewテンプレート、レイアウトの変更設定を記述する方法
CakePHP4から外部のデータベースにアクセスする方法解説
CakePHP4の数値項目は「like %10%」の部分一致検索(find select)はできない
CakePHP4でロギングスコープやログレベルを使用してログを出し分ける方法を解説
 
その他の「CakePHP4」に関する記事一覧
 
 

 - CakePHP 3.x 4.x 5.x

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

CakePHP3のメッセージ日本語化の設定(国際化と地域化の機能の使い方の解説)
CakePHP3のメッセージ日本語化の設定(国際化と地域化の機能の使い方の解説)

CakePHP3の英語のメッセージを日本語化(多言語化)する手順を解説。オリジナルのメッセージを作成する方法やプログラムで文言を追加する場合の対応なども解説。

CakePHP3でPHPExcelを使ってエクセルファイルを生成、出力する方法

CakePHP3でPHPExcelを利用してエクセルを編集、出力するサンプルソース+解説。PHPExcelのインストール方法の解説からファイル保存とダウンロードの方法なども解説。

CakePHP3のUpload Plugin 3.0をバリデーションなど実運用向けのカスタマイズ方法解説・その2
CakePHP3のUpload Plugin 3.0をバリデーションなど実運用向けのカスタマイズ方法解説・その2

CakePHP3でファイル、画像をアップロードするプラグイン、upload plugin 3を導入する手順を解説した記事。3部作のその2でバリデーションなどの実用的なカスタマイズ方法を解説。

CakePHP3で /Layout/defult.ctpにある titleタグ、h1タグを編集する方法
CakePHP3で /Layout/defult.ctpにある titleタグ、h1タグを編集する方法

CakePHP3でtitleタグ、h1タグのテキストをデフォルトから変更する方法を解説。テンプレートファイルに「$this->assign()」でテキストを指定して「/Layout/defult.ctp」で受け取る。

CakePHP4のcake cache clear_allでPermission deniedはパーミッションの変更が必要
CakePHP4のcake cache clear_allでPermission deniedはパーミッションの変更が必要

CakePHP4でキャッシュをクリアするコマンドcake cache clear_allでPermission deniedのエラーが出るのはcakeにパーミッションが足りないとき。その対処方法を解説。

CakePHP3でアソシエーション先のカラムでデータをソートして取得したい
CakePHP3でアソシエーション先のカラムでデータをソートして取得したい

アソシエーション先のテーブルのカラムをキーにソートをしたデータを取得したい!ときの記述方法を解説。「orderAsc()」ではなく「contain()」の中にSort条件を記述する。

CakePHP 2.3 Model、Controllerの見たい変数の中身をログ出力

CakePHPの Modelや Controllerの変数の中身をログとして出力して見る方法を提供します。

CakePHP4で「app_local.php」「.env」を利用して環境ごとの定数を振り分ける方法
CakePHP4で「app_local.php」「.env」を利用して環境ごとの定数を振り分ける方法

CakePHP4で.env、app_local.phpに定数を定義してそれを呼び出す方法の解説。Gitでは管理せず本番環境と開発環境とで異なる定数を定義するためそれを利用する方法。

CakePHP3でデータを保存する save()で発生するエラーを確認する方法を解説
CakePHP3でデータを保存する save()で発生するエラーを確認する方法を解説

CakePHP3でデータ保存処理のログを取得する方法。save()では true、falseの戻り値しか取得できないが、saveOrFail()と try…catch文を使いエラーログ、エンティティを取得し、不具合の解析を行う。

CakePHP3で画像・ファイルのアップロード処理を自作・解説付き・その2
CakePHP3で画像・ファイルのアップロード処理を自作・解説付き・その2

ファイルのアップロード機能の自作サンプルコードとその解説のその2。アップロード機能に関連するファイルの更新や削除の処理や画像、フォルダのパスの指定方法などを含めて解説。