PHPをXdebugでデバッグする過程(MAMP)


開発環境

macOS Cataline 10.15.7
PHP7.4.2
xdebug2.9.8
mamp5.7

PHP Debugをインストール

vscodeでPHP Debugというプラグインをインストールします。

Xdebugをインストール

上記でPHP Debugをインストール後、下にスクロールすると
XDebug installation wizardというリンクがあるのでそこに飛びます。

このリンクを残したままで、次はphpinfoを確認します。
mampでOpen WebStart pageを開き、ヘッダーのTOOLSからPHPINFOを表示します。

下記のように表示されるので、⌘ + a, ⌘ + cで全コピーし、先程のリンクに戻り貼り付け、Analyse my phpinfo() outputを押します。

スクロールし、INSTRUCTIONSの手順に沿って進めていきます。

1. xdebug-2.×.×.tgzをダウンロードします。
2. php拡張機能をコンパイルするための前提条件をインストールします。

brew install php && brew install autoconf

3. ダウンロードしたパッケージを解凍します。

tar -xvzf xdebug-2.×.×.tgz

4. xdebug-2.×.×.tgzディレクトリに移動します。

cd xdebug-2.×.×.tgz

5. 拡張拡張モジュールをビルドし、下記の結果を確認します。

phpize
Configuring for:
...
Zend Module Api No:      20190902
Zend Extension Api No:   320190902

6. Makefileファイルを作成します。

./configure

7. Makefileを基にソースコードをコンパイルします。

make

8. xdebug.soファイルをコピーします。 

cp modules/xdebug.so /Applications/MAMP/bin/php/php7.×.×/lib/php/extensions/no-debug-non-zts-20190902

9. php.iniを編集します。
/Applications/MAMP/bin/php/php7.4.2/conf/php.iniを開くと、下記がコメントアウトしているので外します。

zend_extension = /Applications/MAMP/bin/php/php7.4.2/lib/php/extensions/no-debug-non-zts-20190902/xdebug.so

10.最後にWebサーバーを再起動します。

最後に

mampとxamppがごっちゃになって、xamppでphpinfoを参照していたので、debianやらapt-getやらでfinkを導入したりと無駄に時間が掛かってしまった💦そこも注意しないとですね。

mampかxamppかどちらを選ぶか悩んでいる方は、macOSであればmampが相性が良いらしいです。