前回の記事からの続きとなります。
今回は「PhpStorm」を使って「Laravel」のデバッグをやるようにします。
「Docker」で「Laravel」を起動した状態にしておいてください。
環境
- Mac Intel Ventura 13.1
- PHP: v8.1.13
- Laravel: 9.x
- Docker: 20.10.22
- docker-compose: v2.15.1
- PhpStorm: 2022.3.1
「PhpStorm」をインストールする
まずは公式サイトから「PhpStorm」をダウンロード&インストールします。
https://www.jetbrains.com/ja-jp/phpstorm/download/
「PhpStorm」は有料のIDEですが、コード補完が有能で様々な機能があり開発をする上では金額以上の価値はあると思います。
PHP以外にも、JavaScriptやCSSのコード入力も楽に行えます。
「PhpStorm」でデバッグをする。
デバッグの準備をする
インストールした「PhpStorm」を起動しましょう。
起動したウインドウで「Open」を押しましょう。
開く場所は、「Laravel」をインストールした場所を指定しましょう。
「PhpStorm」を開いた画面の右側のプロジェクト一式にある「public」に「info.php」を作成します。
「info.php」には、以下の内容を記述します。
<?
$i = 1;
echo $i;
phpinfo();
記述後に以下のURLにアクセスしてプログラムが動作しているか確認します。
http://localhost:9081/info.php
以下のような画面が表示されたら成功となります。
デバッグの設定
Settingsの設定
「PhpStorm」の上部メニューから以下の順で開きます。
[PhpStorm] -> [Setting…]
設定画面の中にある[PHP] -> [Debug]を開きます。
「Xdebug」にあるポートが「9003」が設定されているか確認します。
Serversの設定
次に[PHP] -> [Servers]を開きます。
「+」ボタンで対象のサーバーを追加して以下の設定をおこないます。
- Name: Docker
- Host: localhost:9081
- Port: 80
- Debugger: Xdebug
- Use path mapttings: ON
「Use path mapttings」が「ON」となった場合に、パスを同期するようにします。
下部にある「Project files」の「File/Directory」と「Absolute path on the server」を設定します。
ここはPC内のプロジェクトのパスと仮想サーバーのパスが一致するようになります。
設定が完了したら「OK」ボタンを押下して、「Setting」ウインドウを閉じます。
Remoteの設定
次に「PhpStrom」ウインドウの右上にある「Current File」を押下して、「Edit Configurations…」を設定します。
ウインドウを開くと左上にある「+」ボタンを押下して、「PHP Remote Debug」を選択します。
追加された「PHP Remote Debug」の設定は、以下の設定を行う。
- Name: Docker
- Filter debug connection by IDE key: ON
- Server: 上記で追加した「Docker」を選択します。
- IDE key(session id): 「php.ini」に記載した「xdebug.idekey」の値を設定します。
設定が完了すると「OK」ボタンを押下して閉じます。
「PhpStorm」ウインドウの右上にある「電話アイコン」をクリックして、デバッグを有効します。
デバッグが有効になると、電波が出るようなアイコンとなります。
この状態でソースコードの行数をクリックすると、ブレークポイントを設定します。
ブレークポイントを設定した状態でブラウザをクリックすると、デバッグをする事ができます。
以上で、「Laravel」でデバッグ環境を構築する事ができました。
これにより変数の値を確認したり、プログラムがどのように動作しているかを確認する事ができます。