見出し画像

MAMPとVSCodeでPHPをデバッグする

 プログラミングにエラーやバグは付き物です。エラー直前でPHPの実行を止めることができたり、1行ずつ実行して変数の中身の変更を追うことができたりすると大変便利だと思いませんか。
 PHPにはxdebug(エックスデバッグ)という拡張機能があり、VSCodeの拡張機能と連携してそれらの機能を実現することができます。xdebugはMAMPに同梱されていますので、設定するだけですぐ使い始めることができます。


筆者の開発環境

PC:Apple M1 チップ搭載MacBook Air
OS:macOS Ventura 13.6
MAMP:6.8
PHP:8.2.0

php.iniの編集

 php.iniはPHPの設定ファイルです。配置場所は「アプリケーション」→「MAMP」→「bin」→「php」→「php8.2.0」→「conf」の中にあります。「8.2.0」というのはPHPのバージョンを表していますので、お使いのバージョンに合わせてください。
 念のため、php.iniのコピーを取っておきましょう。コピー&ペーストしてください。
 php.iniを編集します。php.iniの上で右クリックし「このアプリケーションで開く」からVSCodeを選択してください。下記のウインドウが表示された場合は「開く」ボタンをクリックしてください。

VSCode

 1962行目の「;zend_extension=~~」の先頭のセミコロンを削除してxdebugを有効にしてください。

php.ini

xdebugが有効になったか確認

 MAMPが起動済みの場合は、MAMPのコントロールパネルから右上の電源アイコンを「Stop」→「Start」の順番でクリックして再起動を行ってください。

MAMPコントロールパネル

 MAMPのコントロールパネルの右上の「WebStart」アイコンをクリックし、WebStartページを表示してください。

MAMPコントロールパネル

左上の「Tools」から「phpInfo」をクリックしてください。

WebStartページ

下記のウインドウが表示されます。

phpInfo

 「cmd + f」で「xdebug」と検索してください。下記のように「xdebug」の項目が表示されたら、xdebugが有効化されています。

phpInof - xdebug

PHP Debugのインストール

 VSCodeの拡張機能である「PHP Debug」をインストールします。左サイドメニューから「拡張機能」のアイコンをクリックし、検索バーに「PHP Debug」と入力してください。
 一番上に出てくる「PHP Debug」の「インストール」ボタンをクリックしてください。

VSCode - 拡張機能

launch.jsonの作成

 インストールができたら、左サイドメニューから「デバッガー」のアイコンをクリックしてください。「launch.json ファイルを作成します」というリンクをクリックし、「デバッガーの選択」で「PHP」を選択してください。

VSCode - デバッガー

 下記の画面になればOKです。「launch.json」ファイルが作成され、デバッガーの起動ボタンが追加されています。launch.jsonは削除しないようにしてください。

VSCode - デバッガー

デバッガーの使い方

 左サイドメニューから「デバッガー」のアイコンをクリックしてください。ブレークポイントを貼りたい箇所の行番号の左横をクリックしてください。赤丸が出現します。
 そして、左上のデバッガーの起動ボタンをクリックしてください。エディターの中央上部に操作メニューが現れます。

VSCode - デバッガー

 この状態で、デバッグを実施したいPHPファイルを読み込めば(画面のリロード等)、ブレークポイントの位置でPHPの実行が止まります。
 先程はグレーアウトしていたステップ実行のボタンや変数の状態の一覧が確認できるようになりました。1行ずつ実行することで変数の中身の変更が追えるのでエラーやバグの修正が捗ります。

VSCode - デバッガー

解説は以上です。お疲れ様でした!

PHP/Laravelのシステム開発は株式会社パパグラムへぜひご相談ください。

この記事が気に入ったらサポートをしてみませんか?