基本は http://www.1x1.jp/blog/2014/08/how-to-setup-php-remote-debug-with-vagrant-vm.html こちらからどうぞ。
大事なポイント = CLI で PHP を実行するとき XDEBUG_CONFIG
環境変数が存在しないと Xdebug が動きはじめないことがあります。
VM の php.ini
には xdebug.remote_enable
や xdebug.remote_host
が書いてあって、Webアプリケーションならデバッグできるという状況で、なぜか CLI だとうまくいかないことがあります。xdebug.remote_autostart=Off
にしておいてブックマークレットでXdebugをON/OFFしながら Web をデバッグしているんじゃないですか? そんなときは XDEBUG_CONFIG="" php debug.php
と叩いてみましょう。これでデバッグセッションが開始します。
また、うまくデバッグセッションが開始されても、こんどは PHP_IDE_CONFIG
環境変数がないと、ホストOSにあるソースとの対応付けができなかったりします。環境変数には PHP_IDE_CONFIG="serverName=なにか仮想マシンを表す名前"
も必要です。
というわけで、PhpStorm で受話器を上げて、こんな感じで。
$ export PHP_IDE_CONFIG="serverName=test.vagrant"
$ XDEBUG_CONFIG="" php debug.php
もし php.ini
でいけてる設定とは違うのにしたい、なんだかうまくいかないって感じなら XDEBUG_CONFIG
をもっと詳細に。
$ XDEBUG_CONFIG="remote_host=192.168.33.1 remote_enable=1 remote_connect_back=1" php debug.php