読者です 読者をやめる 読者になる 読者になる

Programmingを勉強してる人の雑記

短いコメントでも喜びます。東大二年です

IntelliJ(またはPHPStorm)&Vagrantでリモートデバッグする(php7)

[参考]

Vagrant側における

($ php -vの結果)

PHP 7.0.12 (cli) (built: Oct 15 2016 19:45:29) ( NTS )

Copyright © 1997-2016 The PHP Group

Zend Engine v3.0.0, Copyright © 1998-2016 Zend Technologies

($ cat /etc/issue.netの結果)

CentOS release 6.8 (Final)

Kernel \r on an \m

[参考終わり]

まず、PhpStorm から Vagrant VM の PHP アプリケーションをリモートデバッグする(Web & CLI) - Shin x blog

の「0. Xdebug によるリモートデバッグの仕組み」にある図が分かりやすいので、これを見ましょう。

1.Vagrant側での作業

$ sudo pecl install xdebug

xdebugをインストールします。

終了すると、

zend_extension=foo

php.iniに書けと言われるはずです。

$ sudo vi /etc/php.ini

(php.iniのpathは人によります。)

zend_extension=foo

xdebug.remote_enable=1

xdebug.remote_host=192.168.33.1(通常はこの値のはず)

xdebug.remote_port=9000

xdebug.remote_autostart= On

php.iniに追記します。

ここまで来たらVagrant側の設定は終了です。

Vagrantを再起動して、

Xdebug: Support; Tailored Installation Instructionsでphpinfo()の結果を貼ってAnalyze my phpinfo() outputボタンを押すとxdebugが入ったか

確認できます。

2.IntelliJ側での作業

Preferences > Languages & Frameworks > PHP > Debugを開き、

f:id:Shun-Yu:20170512144059p:plain

画像のように設定します

設定画面を閉じます。

右上の

f:id:Shun-Yu:20170512144215p:plain

ボタンを押して

f:id:Shun-Yu:20170512144227p:plain

状態にして、デバッグ情報を待ち受けます。

次に、shitを二連打して、break at と検索して、

f:id:Shun-Yu:20170512154014p:plain

上のBreak at first line in PHP scriptsをONにします。

3.確認

そして、ブラウザでページを開きましょう!

うまくいっていればIntelliJが全面にでてきてデバッグ画面が出てきます。

今回紹介した設定のままだと使いづらい箇所があるかもしれないので、適当に設定しなおして使いましょう。