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


#前提条件
OS:Mac OS High Sierra  10.13.6
Visual Studio Code 1.41.1
MAMP 5.5

#参考サイト

<a href="http://www.gigas-jp.com/appnews/archives/6681">Visual Studio CodeでPHPデバッグをおこなう方法（その2）</a>

#PHPDebugインストール
手順通り、VSCode拡張機能で、PHP Debugをインストール
![スクリーンショット 2019-10-19 2.10.13.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208635/87643f3b-6f98-3cde-c976-bd33344c8784.jpeg)

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

![スクリーンショット 2019-10-19 2.20.27.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208635/01c9d70a-1bb4-bc17-1c60-8a244907997a.jpeg)

![スクリーンショット 2019-10-19 2.22.09.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208635/294b8b28-af09-7844-3659-4360627f661a.jpeg)
MAMPトップページが立ち上がるので、`TOOLS`の`PHPINFO`をクリック
`Command + A`
で全選択して、
![スクリーンショット 2019-10-19 2.27.26.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208635/6475ade0-26af-a193-1bd2-7b24f7d51a41.jpeg)

`Command + C`
でコピーします。

#XDebugサイトのページを参照する
「XDebug」公式サイトに行き、
https://xdebug.org/wizard
![スクリーンショット 2019-10-19 2.28.45.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208635/b56726af-e6bc-1205-8451-3531a83ddacd.jpeg)

その下の
![スクリーンショット 2019-10-19 2.32.42.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208635/3abd7b21-6cf8-f773-332e-6a91168daf65.jpeg)
をクリックすると自分のPHP環境がSUMMARYとして出てくるので、
その下のinstructionsの通りに実施していく。

![スクリーンショット 2019-10-19 2.31.34.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208635/5772da12-c6c9-b8c1-9fd1-1f866e4268da.jpeg)

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


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

リンクにある、xdebug-2.7.2.tgz　をダウンロードする。
PHP拡張機能に必要なphpとautoconfをbrewでインストールする。
brewがなければインストールする。(参考：<a href="https://yu8mada.com/2018/04/12/homebrew-s-installation-and-basic-usage/" target="_blank">Homebrew のインストールと基本的な使い方</a>)

```
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はバージョンが違った。

<a href="https://xdebug.org/docs/faq#phpize">FAQ</a>のリンクのやり方通りに実施。
参照先：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再起動。
これでデバッグ環境ができたはずです。

<h2>デバッグの流れ</h2>
デバッグの流れは、<a href="http://www.gigas-jp.com/appnews/archives/6735" target="_blank">こちら</a>を参考に。

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