【VSCode】Laradockでデバッグできるようにしようぜ!!【Mac】
VSCodeの拡張機能を使ってデバッグ環境を作る方法を解説します。
拡張機能のダウンロード
予めPHP Debug
という拡張機能をインストールしておきます。
.envの書き換え
laradockディレクトリ下の.env
を下記の2つの変数をfalseからtrueに書き換えます。
WORKSPACE_INSTALL_XDEBUG=true
PHP_FPM_INSTALL_XDEBUG=true
Xdebugの書き換え
- laradock/php-fpm/xdebug.ini
- laradock/workspace/xdebug.int の変数を下記のように書き換えます。
xdebug.remote_host=docker.for.mac.localhost
xdebug.remote_connect_back=0
xdebug.remote_port=9001
xdebug.idekey=Listen for XDebug
xdebug.remote_autostart=1
xdebug.remote_enable=1
xdebug.cli_color=1
xdebug.profiler_enable=0
xdebug.profiler_output_dir="~/xdebug/phpstorm/tmp/profiling"
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.var_display_max_children=-1
xdebug.var_display_max_data=-1
xdebug.var_display_max_depth=-1
containerの再構築
docker-compose up -d --build nginx mysql
--build
オプションで起動します。イメージがある状態でも再度ビルドしてcontainerを立ち上げてくれます。
Visual Studio Codeの設定
プログラム実行の設定(デバッグの設定)を行うのが.vscode/launch.json
ファイルです。
作業ディレクトリのlaunch.jsonファイルを作成して、下記を記述します。user_app_nameのところには自分のappディレクトリの名前をいれてください。
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9001,
"pathMappings": {
"/var/www": "${workspaceFolder}/user_app_name"
},
"log": true
}
}
デバッグの実行
ソースの行番号の左側を押して、ブレークポイントを設定。
サイドバーのデバッグのボタンを押して、[Listen for XDebug]を選択し、RUNの△を押せば準備完了。ブレークポイントのところで止まるようになります。
参考
- PHP on Laradock w/ Visual Studio Code(VS Code)でデバッグ環境 (特にon Mac) - Qiita
- VSCodeでMacOSにC言語デバッグ環境を構築 | だえうホームページ
- Vagrant + Virtualbox + Docker + Laradoc + Laravel + VSCode + XDebug の 環境を設定したメモ。 - Qiita
- docker+laravel+VSCode+Xdebugという開発環境を作る - Qiita
- 脱print文!Visual Studio Code + LaradockでPHPのコードを快適デバッグ - bitA Tech Blog
Author And Source
この問題について(【VSCode】Laradockでデバッグできるようにしようぜ!!【Mac】), 我々は、より多くの情報をここで見つけました https://qiita.com/keitean/items/52e583e7d2a2a55ba3ed著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .