このブログの投稿は、 Magento Advent Calendar 2016の21日目です.

こちらでは、 Xdebug, Vagrant と PhpStormを使用してリモートデバッグ用にMagento(VMにインストールされている)をセットアップする方法を説明します。



Xdebugのインストールと設定

リモートシステムにXdebugをインストールして(例えばubuntuに)設定します。 

sudo apt-get install php-xdebug

/etc/php/7.0/apache2/conf.d/20-xdebug.iniを開き、以下の行を追加してリモートデバッグを有効にしてください:

zend_extension=xdebug.so          #これはあらかじめ設定されています
xdebug.remote_enable = On 
xdebug.remote_autostart = On
xdebug.remote_host = 192.168.33.1 

 

Vagrant 設定

Vagrant VM は次のように設定する必要があります:

  • VMはプライベートネットワークとして設定する必要があります。
config.vm.network "private_network", ip: "192.168.33.15"
  • ホストマシンとVMの間で同期フォルダを有効にする必要があります。
config.vm.synced_folder "../src", "/var/www/wan"
  •  apache_default_vhostファイルに次の行を追加します:
php_flag xdebug.remote_enable On
php_flag xdebug.remote_autostart On
php_value xdebug.remote_host 192.168.33.1

 

XdebugとリモートデバッグのためのPhpStormのセットアップ

ローカルシステム上のソースを見つけてブレークポイントで停止するには、リモートサーバーにマッピングを設定する必要があります。

サーバーを作成: File > Settings > Languages & Frameworks > PHP > Servers
サーバーを追加するには、ウィンドウの左上にある「+」ボタンをクリックします。

  • Name: この場合、VMのIPアドレスを使用します
  • Host: VMのIPアドレス
  • Port: 80
  • Debugger: Xdebug
  • Use path mappings: チェックをつける 
  • ルートフォルダは、Vagrantfile (たとえば/ var / www / wan)内のマウントされたフォルダに関連付ける必要があります。

Run > Edit ConfigurationsでPHPリモートデバッグを有効にします。
Run/Debug Configurationsウィンドウが表示されます。 
"+"ボタンをクリックし、PHP Remote Debugを選択して新しい設定を追加してください。

  • Name: Vagrant (名称は自由)
  • Servers: 上記のサーバを選択
  • Ide key(session id): ダミー値を入力

 デバッグ接続のリモートリスニングを有効にする

通常、右上にある「Start Listening for Debug Connections」アイコンをクリックします。 アイコンをクリックすると、その表示が変更されます。

Debugger on - 
Debugger off - 

また、Run > Start Listening for PHP Debug connectionsで有効にすることもできます

 ブレイクポイント!

左余白をクリックしてブレークポイントを設定すると、赤い点が表示されます。

これで、Xdebug、Vagrantと PhpStormを使用してデバッグする準備ができました。

明日のアドベントカレンダーブログエントリーはMagento2決済エクステンション開発ガイド その1です。
よろしくお願いします!