Vagrant+XDebug+PhpStormでデバッグ
前提
Windows
Vagrant 2.1.2
PhpStorm 2018.2
やりたいこと
Vagrant上で開発しているWebアプリケーションのPHPを、ホスト側のPhpStormでデバッグしたい。(ステップ実行など)
やること
2018/10 ScotchBox3.5, PHP7.0用に更新(あんまり変わってないけど)
仮想マシン上にXDebugインストール
仮想マシンにSSH接続
xdebug インストール
$ sudo apt update
(リポジトリ更新)
$ sudo apt search xdebug
(xdebugを探す→php-xdebug
という名称が見つかる)
$ sudo apt install php-xdebug
iniを編集
apache2 を再起動
確認
PHPStorm上の設定
PHPStormから、メニューバー[Run] » [Web Server Debug Validation]
最上段のラジオボタンで [Local Web Server or Shared Folder] を選択
[Path to create validation script] に、ScotchBox上のpublicフォルダ
-
[Validate]して、全てのチェックに通るか確認する
[File] » [Settings]から設定を開く
[Run] » [Edit Configurations]
設定完了!
デバッグ実行
URLにGETで「XDEBUG_SESSION_START={任意のsession_id}
」を渡すことでデバッグセッションが有効になる(デバッグボタンで自動的に付与される)。一度有効になるとCookieに保存され、期限切れまではXDEBUG_SESSION_START無しでも有効で有り続ける。有効期限などの設定はxdebug.iniで行う。
PHP5.6
ほとんどここ読みゃいい。
仮想マシンが起動した状態でSSH接続する
-
$ sudo apt-get update
$ sudo apt-get install php5.6-xdebug
/etc/php5/apache2/conf.d/20-xdebug.ini を編集、下記を追記する
/etc/php/5.6/mods-available/xdebug.ini を編集、下記を追記する(2017/08/15修正)
$ sudo service apache2 restart
$ php –version
で、「with Xdebug v2.x.x, …」という文が現れればXdebugが入ったことを確認できる
PHPStormから、メニューバー[Run]»[Web Server Debug and Validation]
[File] » [Settings]から設定を開く
[Run] » [Edit Configurations] で”+“ボタンから[PHP Web Application]を選択、実行時の設定を行う
設定完了!
右上の受話器のアイコンをクリックし、音が鳴ってる状態のアイコンにする
適当にブレークポイントを設定してデバッグを開始。ブレークポイントを通過するときに停止してくれる