Laravel Homestead + Visual Studio Code + Xdebugでデバッグ環境構築

2019年08月23日
投稿者:若林 奨太
カテゴリ:Laravel, PHP, 開発全般 タグ:,

こんにちは。鈴木商店の若林 (@itigoore01) です。

Laravel Homestead + VSCodeのデバッグ環境構築手順を紹介します。

Windows 10での環境構築手順となっているので、Macなどでは変わる可能性があるのであしからず。

2018/3/19 現時点の最新バージョンではXdebugがはじめから入ってました。なのでインストールのところは飛ばしてください。

開発環境

OS: Windows 10
Laravel Homestead v7.0.1

手順

Homestead側の設定

Xdebugのインストール

Homestead v7.0.1は、デフォルトではPHP 7.2を使用することになっています。
ただ、Homesteadに入っているPHP 7.2はなぜかXdebugが用意されていないので(それ以前のバージョンでは用意されている)自前で用意する必要があります。

自分の環境で貼り付けた結果です。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f37353036332f62376563383763342d396539632d316262302d336161642d3066333939353034666236662e706e67

インストール後、再びphp-fpm7.2 -iを実行し、以下のようなXdebugに関する情報が出力されればインストール成功です。

xdebug

xdebug support => enabled
Version => 2.6.0beta1
IDE Key => vagrant

Supported protocols => Revision
DBGp – Common DeBuGger Protocol => \$Revision: 1.145 \$

Directive => Local Value => Master Value
xdebug.auto_trace => Off => Off
xdebug.cli_color => 0 => 0
xdebug.collect_assignments => Off => Off

Xdebugの設定

次にXdebugの設定を行います。
php.iniに書いてもいいですが、今回は別ファイルに分けて書きます。

20-xdebug.ini

remote_portはデフォルトでは9000ですが、なぜか9000では繋がらないため9001に変更しています。
設定を反映させるためにvagrant reloadで再起動してください。

以上でHomestead側の設定は完了です。

Visual Studio Codeの設定

続いてVSCodeの設定に入ります。
まず拡張機能である「PHP Debug」をインストールします。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f37353036332f30656165613936312d366434652d396330322d633263632d3430353866373463316662362e706e67

次にデバッグしたいプロジェクトをVSCodeで開き、F5キーを押します。
すると環境を選択するように言われるので、PHPを選択します。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f37353036332f65373134626461642d346338332d396234372d636237312d6461343430306665656361302e706e67

PHPを選択すると、launch.jsonが自動的に生成されるので、ポート番号をHomesteadと合わせたりします。
pathMappingsのところは適宜読み替えてください。

launch.json

以上ですべての設定完了です!

F5でリモートデバッグを開始し、適当なところにブレークポイントを貼るとちゃんと止まってくれます。変数の中身もみれます。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f37353036332f65636433363839332d313364642d323464652d666136382d6330343965393032343433652e706e67


コメントを残す

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