Xdebug

Table of Contents

はじめに

PHP開発において、XdebugによりIDE(VS Code、PHPStorm)からソースコードのブレークポイントで止めてステップ実行をするためのコンフィグレーションを3つのパターンに分けて説明します。

システム環境

  • クライアント
    • 開発用のマシン、IDEを使って実際にデバッグを行う側。
    • Windows 10、WSL2。
  • サーバーマシン
    • Webアプリが稼働しているマシン。
    • ただし、このサーバーの中にDockerが稼働する場合もある。
  • Docker
    • コンテナを稼働させる仮想化サービス。
  • Webサーバー
    • デバッグ対象となるWebサーバー。
    • Apache2。
  • Xdebug
    • Xdebug2とXdebug3を扱う。
  • IDE
    • デバッグに使用する統合開発環境。
    • VS CodeとPHPStormを扱う。

壱ノ型 – WSL2環境

Windows PC上のWSL2上のUbuntuディストロ上で稼働しているWebサーバー(Apache)にクライアント(ホスト)から接続してデバッグを行う。クライアントと言ってもこの型では物理的にはすべて1台のマシンで完結しており「クライアント=開発PCかつ仮想サーバーマシン(Include Apache)」です。

論理的にはクライアント、WSL2上の仮想サーバーマシンとなります。文章での説明よりも図を見た方が早いでしょう。

※ 仮想環境が発達してきている昨今、「~上の~上の」というわかりづらい表現となってしまうことをお許しください。

弐ノ型 – WSL2+Docker

Windows PC上のWSL2上のUbuntuディストロ上で、同じくWSL2上で稼働しているDocker Desktop上のコンテナの上のWebサーバー(Apache)にクライアントから接続してデバッグを行う。クライアントと言ってもこの型ではすべて1台のマシンで完結しており「クライアント=開発PCかつ仮想サーバーマシン(Include Ubuntuディストロ > Docker、Apache)」です。

参ノ型 – リモートサーバー+Docker

リモートサーバー、たとえばDCやAWSのようなクラウドサーバー上で稼働しているサーバーに接続してデバッグします。通常はローカル開発環境でデバッグしてリモートサーバー(多くの場合は本番サーバー)にデプロイするのが普通ですが、どうしても環境の都合上実際のサーバー上での動きを確認したいことがあります。

VS Codeは比較的簡単に設定できますが、PHPStorm(IntelliJ)でのリモートデバッグは昨年の終わりごろ(2021年)に環境が整ってきたらしいので、まだベータ版としてのサポートです。

以下続く

この後、壱ノ型、弐ノ型、参ノ型のそれぞれについて別ポストで詳細を説明していきます。

コメントを残す

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

上部へスクロール