PHPのエラーメッセージ及びvar_dumpを見やすく表示するライブラリ「Tracy」の利用方法
ここのところPHPでの開発時にvar_dumpをツールバー表示する「Kint」及びエラーメッセージ画面をリッチにする「PHP Error」ライブラリを使用しているが、どちらの機能も搭載しており尚且つ更新も活発な「Tracy」というライブラリを見つけた。以下に使用方法をメモ。
目次
Tracy
公式サイト
リファレンス
https://tracy.nette.org/en/guide
デモページ
https://nette.github.io/tracy/tracy-exception.html
GitHub
https://github.com/nette/tracy
インストール
composerを利用する場合
サーバにSSH接続し以下コマンドでインストールする。
composer require tracy/tracy
composerを利用しない場合
こちらのページからtracy.pharをダウンロードして適当なディレクトリにアップロードし、以下で読み込む。
require 'tracy.phar';
尚、今回はこちらの方法でインストールした。
利用方法
基本設定
<?php use Tracy\Debugger; require 'tracy.phar'; //デバッガーをON(自身の接続IPアドレスを指定) Debugger::enable('111.222.333.444'); //エラーログの保存場所を絶対パスで指定 Debugger::$logDirectory = __DIR__ . '/log'; //エラーログ設定 Debugger::$logSeverity = E_NOTICE | E_WARNING; //全てのエラーを表示 #Debugger::$strictMode = true; //非推奨の通知を除くすべてのエラーを表示 Debugger::$strictMode = E_ALL & ~E_DEPRECATED & ~E_USER_DEPRECATED;
Tracyは開発モードと本番モードがあり、ざっくりと以下の部分が異なる模様。
- 開発モード → エラーメッセージを画面上に表示。エラーログは指定しないと出力されない
- 本番モード → エラーメッセージは画面上に表示しない。エラーログは自動で出力される
開発 or 本番モードは自動検出されるようで「Debugger::enable('111.222.333.444');」部分を自身の接続IPアドレスを指定しないと本番モードとして検出された(デフォルトだとlocalhostのみ開発モードとして検知されるっぽい)。
手動でエラーログを出力
Debugger::log('〇〇エラー発生', Debugger::ERROR);
前述の通り開発モード中にエラーログを出力させたい場合は上記のように記述する必要がある。
var_dumpをツールバーに出力
$arr = [10, 20.2, true, null, 'hello']; //ツールバーにdump bdump($arr);
var_dump関連の詳細についてはこちらのページを参照。
処理時間計測をツールバーに出力
Debugger::timer(); sleep(1); $elapsed = Debugger::timer(); bdump($elapsed); //float(1.0000970363616943)
所感
更新頻度が割と活発
「Kint」及び「PHP Error」ライブラリも特に悪くないんだけど後者の「PHP Error」の方が2012年に作成後アップデート無しだったため、今後いつ使えなくなるか分からないという不安があった。
「Tracy」は最終更新が2023/9/25となっており、更新頻度も割と活発でその辺りは安心できそう。
多機能
今回は最低限必要そうな機能のみ書いたが、リファレンスによるとエラーログをメールで送信できたり、プラグイン機能があったりと多機能なライブラリとなる。
関連記事
-
PHPのHTTPクライアント用ライブラリ「Guzzle」の利用方法
以前に「Requests for PHP」を試したが、似たようなライブラリで「G ...
-
phpdotenvライブラリを使用してPHPで.envファイルを読み込ませる方法
CodeIgniterを勉強していた際に各種設定は「.env」というファイルに記 ...
-
PHPのバリエーションライブラリ「Valitron」の導入及び利用方法
フォーム等の入力内容チェックをPHP側で行う際、現状は素のPHPで書いているけど ...
-
Composer無し&ファイル1枚でPHPのエラーメッセージ画面をリッチにするライブラリ「PHP Error」の利用方法
先日PHPのエラーメッセージを見やすくするwhoopsの利用方法をメモしたが導入 ...
-
PHPで画像を比較して類似度を算出する「image-comparator」ライブラリの利用方法
PHPで画像の類似度を計測したい。ただ、そのためのロジックが全く分からないためラ ...