Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

MAMP PHP7.3.1とVSCodeでXdebugを使う

More than 1 year has passed since last update.

よくわかっていないので、間違っているところ・余計なところ・足りないところがあれば教えて下さい。

MAMP 5.3
PHP 7.3.1
Xdebug v2.8.1

homebrewを使います。

Xdebugをインストールする

/Applications/MAMP/bin/php/php7.3.1/lib/php/extensions/no-debug-non-zts-20180731/の中身を見てもxdebug.soがなかったので、インストールしました。

以下のリンク先に手順の案内があります。
Xdebug: Support — Tailored Installation Instructions

詳しく説明していきます。

↓ まず、MAMPのStart Serversを押した後、Open WebStart pageを押します。
MAMPの画面イメージ

PHPINFOを開きます。
open web start pageを押した後の画面イメージ

PHPINFOのHTMLソースをすべてコピーします。

先程のリンク先にソースを貼る場所があるので、そこに貼ります。
そうすると、ダウンロード手順が案内されます。

まず、xdebug-2.8.1.tgzをダウンロードします。

ターミナルを開き、ダウンロードしたファイルがあるディレクトリにcdコマンドで移動します。
そこで以下のコマンドを実行してファイルを解凍します。

ターミナル
$ tar -xvzf xdebug-2.8.1.tgz

↓ 解凍したファイルに移動して、phpizeを実行します。

ターミナル
$ cd xdebug-2.8.1

$ phpize

# こんな表示が出ます
Configuring for:
...
Zend Module Api No:      20180731
Zend Extension Api No:   320180731

もしもここでエラーが出た場合はautoconfをインストールします。

ターミナル
$ brew install autoconf

成功したら以下を実行します。

ターミナル
$ ./configure

$ make

xdebug.soをMAMPの中にコピーします。

ターミナル
$ cp modules/xdebug.so /Applications/MAMP/bin/php/php7.3.1/lib/php/extensions/no-debug-non-zts-20180731

php.iniの設定を変更する

/Applications/MAMP/bin/php/php7.3.1/conf/php.iniの設定を変更します。
一番下に以下の記述を足します。
zend_extension="~"の行がコメントアウトされている場合は先頭の;を削除します。

/Applications/MAMP/bin/php/php7.3.1/conf/php.ini
[xdebug]
zend_extension="/Applications/MAMP/bin/php/php7.3.1/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_autostart=1

MAMPのStop ServersStart Serversを押して再起動をしてください。

ターミナルでMAMPのPHPを実行するようにする

大変参考にさせていただきました。
MAMPのPHPをターミナルから実行する方法 - Qiita

パスを通します。
.bashrcに以下を記述します。bashではなくzshなどの場合は、がんばってください。

.bashrc
export PATH=/Applications/MAMP/bin/php/php7.3.1/bin:$PATH 
ターミナル
パスの確認
$ which php
/Applications/MAMP/bin/php/php7.3.1/bin/php

確認する

ターミナル
$ php -m

(省略)
[Zend Modules]
Xdebug

正しく動いていれば、オレンジ色のエラーがブラウザに表示されたり、var_dump()が見やすくなったりします。

Visual Studio Codeに拡張機能をインストールする

拡張機能 PHP Debug をインストールします。

VSCodeの左側にある虫のマークをクリックし、デバッグ画面を開きます。
デバッグ画面の上部にある歯車のマークをクリックし、PHPを選択します。
デバッグ画面イメージ
自動でlaunch.jsonが作成されます。

デバッグする

MAMPを起動します。

VSCodeでブレークポイントを打ちます。
↓ 左の丸印です。
ブレークポイントを打った画面イメージ

Listen for XDebugを選択し、三角の再生マークを押します。
X Debugを実行した画面イメージ

ブラウザを開き、ページを更新すると、VSCodeに自動で戻ってきます。
変数の中身とか見れます。
ブレークポイントを見ている画面イメージ
エラーとかも見れます。
例外が発生した場合の画面イメージ

以上です。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away