Edited at

phpをvscodeでデバッグする方法(MAMP環境)

More than 1 year has passed since last update.


はじめに


  • phpをデバッグする環境を構築したかったのですが、案外苦労してしまったのでメモです。


環境


  • macOS High Sierra - 10.13.3

  • MAMP - 4.2.1

  • vscode - 1.21.1

  • php - 7.1.8


参考

Visaul Studio Code で PHP、インテリセンスとデバッグ


https://qiita.com/diconran/items/6caed6b15cdda23c9933


osxのmampでxdebugを有効にする


https://qiita.com/cubdesign/items/f2a51b1c95b5d619673f


MacにHomebrewでPHPスクリプトの実行&デバッグ環境構築


https://qiita.com/nenokido2000/items/11f2dd0ef270481800ef


xdebugのインストール


  • php7.0に対応したxdebug


% brew install homebrew/php/php70-xdebug


phpのデバッグ設定


  • php.iniの編集


/Applications/MAMP/bin/php/php7.1.8/conf/php.ini

このファイルの一番下の部分を書き換え

[xdebug]

;zend_extension="/Applications/MAMP/bin/php/php7.1.8/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so"

これを

[xdebug]

zend_extension="/Applications/MAMP/bin/php/php7.1.8/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_autostart=1
xdebug.remote_port=9000

こう変えました。


ポートはデフォルトで9000の設定になっているらしいので、記載不要かもしれません


デバッグの実行


  • vscodeのデバッグの設定

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

    vscode再起動必要かも?

    デバッグ(虫眼鏡アイコン)→歯車アイコン→launch.jsonが起動して以下のようなことが書いてある


{

// IntelliSense を使用して利用可能な属性を学べます。
// 既存の属性の説明をホバーして表示します。
// 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9000
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000
}
]
}

何も変更しなくてもOKのはず


  • MAMP再起動

    サーバを再起動させる必要があります


  • vscode

    実行ボタンでデバッガ起動