Visual studio CodeのPHP DebugをMacで使えるようにするまで


前提条件

OS:Mac OS High Sierra 10.13.6
Visual Studio Code 1.41.1
MAMP 5.5

参考サイト

Visual Studio CodeでPHPデバッグをおこなう方法(その2)

PHPDebugインストール

手順通り、VSCode拡張機能で、PHP Debugをインストール

MAMPのphpのバージョンを確認


MAMPトップページが立ち上がるので、TOOLSPHPINFOをクリック
Command + A
で全選択して、

Command + C
でコピーします。

XDebugサイトのページを参照する

「XDebug」公式サイトに行き、
https://xdebug.org/wizard

その下の

をクリックすると自分のPHP環境がSUMMARYとして出てくるので、
その下のinstructionsの通りに実施していく。

自分のPHPのバージョンを確認する。

必要なファイルのダウンロードとインストール

リンクにある、xdebug-2.7.2.tgz をダウンロードする。
PHP拡張機能に必要なphpとautoconfをbrewでインストールする。
brewがなければインストールする。(参考:Homebrew のインストールと基本的な使い方)

brew install php
brew install autoconf
cd Users/ユーザ名/Downloads/
tar -xvzf xdebug-2.7.2.tgz
cd xdebug-2.7.2
phpize

phpizeを実行した結果バージョンが違った場合

phpizeをやったところで、下のような出力結果がでた。

$ phpize
Configuring for:
PHP Api Version:         20160303
Zend Module Api No:      20160303
Zend Extension Api No:   320160303`

instructionを見ると正しくは、

Configuring for:
...
Zend Module Api No:      20180731
Zend Extension Api No:   320180731

こう出るはずなのだが、私のphpizeはバージョンが違った。

FAQのリンクのやり方通りに実施。
参照先:Q: How do I find which phpize to use?

phpize --help

を実施すると、以下のように自分の環境のphpizeのパスがでる。

Usage: /usr/local/bin/phpize [--clean|--help|--version|-v]
php-config --version

を打ち込んで、現在実行しているPHPのバージョンを表示する。

表示されたphpのバージョンがMAMPのphpバージョンと違う場合、Macのphpのバージョンが表示されている可能性がある。

今回、MAMPのphpinfo()で見たMAMPのphpバージョンと、表示されたphpizeとphpが一致しなかったので、フルパスでphpizeを指定する。

今回はMAMPを使ってデバッグ環境を整えるので、MAMPのphpのバージョンに合わせて設定する。

ターミナルに(MAMPの)正しいphpizeのフルパスを打ち込む。

/Applications/MAMP/bin/php/php7.3.8/bin/phpize

instruction通りのphpizeのバージョンが、ターミナルに出た。

Configuring for:
PHP Api Version:         20180731
Zend Module Api No:      20180731
Zend Extension Api No:   320180731`

XDebugのinstruction通りに実施

続いて(正しいコマンドはXDebugのinstructionに従う)

./configure --with-php-config=/Applications/MAMP/bin/php/php7.3.8/bin/php-config

make

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

/Applications/MAMP/bin/php/php7.3.8/conf/php.ini を開いて、

先頭に以下を追記。

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

MAMP再起動。
これでデバッグ環境ができたはずです。

デバッグの流れ

デバッグの流れは、こちらを参考に。

1.Visual Studio Codeのデバッグボタンをクリック
(デバッグボタンは虫のマークアイコン)
2.画面左上の歯車マーク[Configure or fix ‘launch.json’]をクリックします
3.ドロップダウンで[Select Enviroment]で[PHP]を選択すると、PHPデバッグがおこなえるようになる