2026/03/20-22 に中野セントラルパークカンファレンスで開催された PHPerKaigi 2026 にて、「Xdebug と IDE によるデバッグ実行の仕組みを見る」を発表してきました。
発表資料
Xdebug と IDE がどのように通信してデバッグ実行を実現しているのか、その仕組みについてお話ししました。
普段 Xdebug Step Debugging を使ったデバッグ実行を利用している方は多いと思いますが、両者がどのようにやり取りしているかを意識する機会はあまりないかもしれません。通信内容を見ることで仕組みを理解し、身近なツールの動きを知る面白さを共有できればと思い、この内容にしました。
PHP はサーバサイドで動作するので、ブラウザ等のクライアントから PHP に接続する動きになりますが、Step Debugging では、Xdebug から IDE に接続するという逆の動きになるので、まずはそれを覚えておくとトラブルシューティングしやすくなります。
- プロポーザル(フィードバック): https://fortee.jp/phperkaigi-2026/proposal/d78b28e5-0358-4e7e-a32b-fc20106f7547
- posfile: https://posfie.com/@shin1x1/p/XDSf0qA
発表のきっかけ
Xdebug と IDE によるデバッグ実行の設定方法については、チームに入るたびに資料を書いたり説明したりしてきました。会場の立場話でも、「自分もチームに入るたびに設定資料を書いている」という声が何人からかあり、やはりどこでもそうだよなあと。
設定方法や使い方を伝える機会はあるものの、そもそも Xdebug と IDE がどう連携しているかをちゃんと伝える機会はあまりなかったように思います。ここらでちゃんとまとめておこうと思ったのが、今回の発表のきっかけの一つです。
もう一つは、こうした身近なツールの動きを知ることで理解が深まり、トラブルシューティングにも役立つということ。そして何より、仕組みを知ること自体が面白い!というのを伝えたかったというのがあります。
準備での取捨選択
毎回ながらではありますが、今回の発表準備でも、内容の取捨選択に悩みました。
当初は Xdebug と IDE の通信の仕組みに加えて、PHP と Xdebug の内部実装としてコード実行が停止する仕組みやステップ実行の仕組みまで扱う予定でした。しかし、通信部分や設定項目、ハマりどころなど実用寄りの内容だけでもかなりのボリュームがあり、内部実装の部分は泣く泣く削ることにしました。
内部実装の動きについては、おまけスライドを用意していました。セッション中は触れられませんでしたが、Ask the speaker でお披露目できました。
デモも用意していました。nc コマンドで簡易サーバを立てて、それを IDE に見立てて Xdebug との通信を行うというものです。通信ログをリアルタイムで見る実演も準備していました。いずれも時間の関係でカットすることになりましたが、まあこの辺の取捨選択は毎回悩ましいところですね。機会があれば、内部実装やデモも含めた内容でお話ししたいですね。
AI 時代のカンファレンス
PHPerKaigi 2026 全体を通して、面白いセッションも色々ありましたし、何より多くの方と気軽に話せたのが良かったです。
今回は AI が話題の中心の一つでした。コーディングエージェントを開発に使っている人は多く、その活用について色々な話を聞くことができました。
個人的に関心があったのは、AI 時代にこうしたカンファレンスがどう変わっていくのか(あるいは変わらないのか)というテーマで、これはよく話していました。カンファレンスやテックイベントに参加する動機の一つに「知識を得る」がありますが、これは AI を活用することで以前より容易になってきています。知識を得ることが目的であれば、もわざわざイベントに来なくても済む時代になりつつあるのかもしれません。そうなった場合、リアルイベントの役割は何だろうか、登壇者としての役割はどう変わるだろうか、と。
個人的には、これは以前から考えていたことですが、単に知識の共有ならスライドを公開すれば良いわけです。一方、リアル会場で話を聞くライブ感には別の価値があると思っています。だから発表にはデモを入れたり、その場にいるから楽しめる要素を入れたいと思ってきました(一緒にその話を聞くというのも楽しめる要素の一つですね)。今後はそうした部分がより重要になるのではないかと感じています。今回の発表でもデモや通信ログの実演を用意していたのは、まさにそういう考えからでした(時間の都合でカットしてしまいましたが)。
さいごに
PHPerKaigi は毎回楽しいイベントですが、今回も多くの方とお話しすることができ、充実した時間を過ごすことができました。今回、新たに休憩コーナーが用意されていたり、セッションルームの照明を暗めにしてスライドやデモが見やすくなっていたりと毎回色々な改善がなされていくのが素晴らしいですね。スタッフの皆さん、参加者の皆さん、今回も素晴らしいイベントをありがとうございました!