🥴
CakePHP4.4.3で起動時に表示されたエラー文の解消方法。
はじめに
CakePHPで新しいライブラリを試すためにインストールして最初の画面を表示させたときに以下のエラーが表示されました。
Deprecated: Use of `BaseErrorHandler` and subclasses are deprecated. Upgrade to the new `ErrorTrap` and `ExceptionTrap` subsystem.
See https://book.cakephp.org/4/en/appendices/4-4-migration-guide.html C:\xampp\htdocs\csv_sample\config\bootstrap.php,
エラー文を実際に読んでみると、BaseErrorHandler
が非推奨になって、新しくErrorTrap
とExceptionTrap
が推奨になっている様子。
Cookbookを確認してみる
エラー文に記載のあるURLにアクセスして、ErrorHandler&ConsoleErrorHandlerの項を読んでみました。
すると、以下の記載あり。
ErrorHandler と ConsoleErrorHandler クラスは、非推奨となりました。
これらのクラスは、新しい ExceptionTrap と ErrorTrap クラスに置き換わりました。
やはり、推奨が変更になっている様子。
なのでconfig/bootstrap.phpを以下のように変更
+ use Cake\Error\ErrorTrap;
+ use Cake\Error\ExceptionTrap;
if($isCil) {
- (new ConsoleErrorHandler(Configure::read('Error')))->register();
+ (new ErrorTrap(Configure::read('Error')))->register();
} else {
- (new ErrorHandler(Configure::read('Error')))->register();
+ (new ExceptionTrap(Configure::read('Error')))->register();
確認するとエラーは消えていました。
おわりに
今回はエラー文の中にヒントがあったので、時間をかけることなく解消することができました。
誰かの助けになれば幸いです。
Discussion