【試行錯誤】[CakePHP]Debug Kitのインストール【解決】

 当ページのリンクには広告が含まれています。

CakePHPで開発する上で、Debug Kitは必須ですよね。
ということで、Debug Kitのインストール手順をメモメモ。

あとで綺麗な記事にまとめようw

以下のコマンドをアプリケーションの ルートディレクトリー (composer.json ファイルのある場所) で実行してください。

php composer.phar require --dev cakephp/debug_kit "~3.0"
bin/cake plugin load DebugKit
Debug Kit – 3.x
PS D:\htdocs\XXXXX\XXXXX> php composer.phar require --dev cakephp/debug_kit "~3.0"
Could not open input file: composer.phar

開けないとw

PS D:\htdocs\XXXXX\XXXXX> composer update
Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 8 updates, 0 removals
  - Upgrading composer/spdx-licenses (1.5.7 => 1.5.8)
  - Upgrading phpstan/phpdoc-parser (1.24.2 => 1.24.3)
  - Upgrading react/promise (v3.0.0 => v3.1.0)
  - Upgrading symfony/config (v5.4.26 => v5.4.31)
  - Upgrading symfony/console (v5.4.28 => v5.4.31)
  - Upgrading symfony/string (v5.4.29 => v5.4.31)
  - Upgrading symfony/yaml (v5.4.30 => v5.4.31)
  - Upgrading theseer/tokenizer (1.2.1 => 1.2.2)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 8 updates, 0 removals
  - Downloading react/promise (v3.1.0)
  - Downloading composer/spdx-licenses (1.5.8)
  - Downloading phpstan/phpdoc-parser (1.24.3)
  - Downloading theseer/tokenizer (1.2.2)
  - Upgrading symfony/string (v5.4.29 => v5.4.31): Extracting archive
  - Upgrading symfony/console (v5.4.28 => v5.4.31): Extracting archive
  - Upgrading react/promise (v3.0.0 => v3.1.0): Extracting archive
  - Upgrading composer/spdx-licenses (1.5.7 => 1.5.8): Extracting archive
  - Upgrading symfony/yaml (v5.4.30 => v5.4.31): Extracting archive
  - Upgrading symfony/config (v5.4.26 => v5.4.31): Extracting archive
  - Upgrading phpstan/phpdoc-parser (1.24.2 => 1.24.3): Extracting archive
  - Upgrading theseer/tokenizer (1.2.1 => 1.2.2): Extracting archive
Package zendframework/zend-diactoros is abandoned, you should avoid using it. Use laminas/laminas-diactoros instead.
Package aptoma/twig-markdown is abandoned, you should avoid using it. No replacement was suggested.
Package asm89/twig-cache-extension is abandoned, you should avoid using it. Use twig/cache-extension instead.
Package phpunit/php-token-stream is abandoned, you should avoid using it. No replacement was suggested.
Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested.
Generating autoload files
37 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
Found 1 security vulnerability advisory affecting 1 package.
Run "composer audit" for a full list of advisories.

あ。
composer.pharないわw composer.jsonならあるから書き換えてみるか。

PS D:\htdocs\XXXXX\XXXXX> composer.json require --dev cakephp/debug_kit "~3.0"
composer.json : 用語 'composer.json' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前と
して認識されません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから
、再試行してください。
発生場所 行:1 文字:1
+ composer.json require --dev cakephp/debug_kit "~3.0"
+ ~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (composer.json:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException


Suggestion [3,General]: コマンド composer.json は見つかりませんでしたが、現在の場所に存在します。Windows PowerShell は、既定では、現在の場所からコマンドを読み込みません。このコマンドを信頼する場合は、".\composer.json" と入力してください。詳細については、"get-help about_Command_Precedence" と入力してヘルプを参照してください。

違うな。ぐぐるか。
うーん…。

composer.pharとはComposerの本体であり実行ファイルである。
コマンドプロンプトでphpコマンドを通して動かす。

ワクガンス | Composerの覚書

あほだwww
あんまよく分かってなかったな私www

PS D:\htdocs\XXXXX\XXXXX> php -v
PHP 7.4.33 (cli) (built: Nov  2 2022 16:00:55) ( ZTS Visual C++ 2017 x64 )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
PS D:\htdocs\XXXXX\XXXXX> composer -V
Composer version 2.6.5 2023-10-06 10:11:52

どっちもパス通ってるな。
……ん?

デフォルトで、DebugKit はデフォルトのアプリケーションスケルトンにインストールされています。

Debug Kit – 3.x

なんとwww
ってことは有効化するだけでいいのかwww

PS D:\htdocs\XXXXX\XXXXX> bin/cake plugin load DebugKit

D:\htdocs\XXXXX\XXXXX\src\Application.php modified

……表示されないなw
ぐぐる。

そもそもDebugKitがpluginsにあるのか?w

ないじゃんwwww
デフォルトのCakePHPの画面確認してみるか。

あれ?
loadしてるな。

logs/error.logを見てくる。

2023-11-23 19:51:53 Warning: DebugKit is disabling itself as your host `XXXXX.com` is not in the known safe list of top-level-domains (localhost, invalid, test, example, local). If you would like to force DebugKit on use the `DebugKit.forceEnable` Configure option.

色々調べてみたところ、CakePHP 3.6.2 から DebugKit の使用方法が変更されており、「安全なトップレベルドメイン」のリストに含まれない FQDN では DebugKit のパネルは既定値では表示されないようになったようだ。

このバージョン以降の CakePHP では、

  1. デバグモードであること (Configure 定数 ‘debug’ が true)
  2. 当該ホストが安全なトップレベルドメインに属しているか、あるいは Configure 定数 ‘DebugKit.forceEnable’ が true に設定されている

の両方を満たしていないと DebugKit パネルが表示されないようになっているので注意が必要だ。

CakePHP3 で DebugKit が表示されない|加藤 正人|株式会社パルムゲート

ほう。
それは分かったんだが…設定場所どこだw

config/bootstrap.phpとかにないな…

こんにちは、

私も悩みました。app.phpに、

‘DebugKit’ => [
‘forceEnable’ => true,
]

と追記すると動きます。ご参考までに。

cakephp3のDebugkitが使えないと思ったら、たいしたことない理由だった – もがき系プログラマの日常

表示された!

まとめ

個人的にConfigure::read(‘debug’)の判定があるので、それで判断させてほしいです。。

cakephp3のDebugkitが使えないと思ったら、たいしたことない理由だった – もがき系プログラマの日常

ほんこれ