Pocket
LINEで送る

前回できたと思ったのですが、残念ながら寝て起きたら動かなくなってました。
再度調べてリモートデバッグ機能を復活させたいと思います。

vagrant仮想マシンの環境は下記になります。
・CentOS6.5
・Apache/2.2.15 (Unix)
・PHP 5.3.3 (cli) (built: Dec 11 2013 03:29:57)

順番を整理します。
1.vagrantにlocalhost:8080で接続できるようにしておきます。
Vagrantfileに、下記を追記します。実際はコメントアウトされているのでそれを解除します。自分のVagrantfileでは22行目。

config.vm.network :forwarded_port, guest: 80, host: 8080

2.Xdebugをインストールします。

$ sudo yum --enablerepo=epel install php-pecl-xdebug

3.php.iniの設定をします。
まずxdebug.soの位置を確認しておきます。

$ sudo -i
$ find / -name xdebug.so
/usr/lib64/php/modules/xdebug.so

次に、vimなどでphp.iniを開いて編集します。

$ vim /etc/php.ini

php.iniに下記を追記します。

[xdebug]
zend_extension="/usr/lib64/php/modules/xdebug.so"
xdebug.default_enable = 1
xdebug.idekey = "sns"
xdebug.remote_enable = 1
xdebug.remote_port=9000
xdebug.remote_host=10.0.2.2

xdebug.idekeyは、xdebugがデバッグのときに使用する、セッションの識別子になりますので、任意の値を設定します。今回SNSサイトを作成する必要があるので、snsとしております。

また、remote_hostを設定しないと、デバッグが動きません。$_SERVER[‘REMOTE_ADDR’]をみると私の場合、10.0.2.2になっております。どうもVirtualboxの標準値のようです。

また、remote_portを9000以外にする場合は、phpstormの設定で、Prefereces > PHP > Debugで、Xdebugのdebug portを変更する必要があります。

あと、xdebugをインストールしたら、私の場合、/etc/php.d/xdebug.iniというものが作成されておりまして、そこでもzend_extensionの設定がされていました。設定が重複すると、エラーがでますので、xdebug.iniの記載を削除するか、上記のxdebugの設定をxdebug.iniに記載するなど対処する必要があります。

追記したらhttpdを再起動しておきます。

service httpd restart

4.phpstormのpreferenses > PHP > serversを下記のように設定して、サーバ情報を追加します。
スクリーンショット 2014-03-03 5.09.26

5.Run > Edit Configurationsをクリックして、Defaults > PHP Remote Debugに進み、そこでServerを選択し、id keyを入力します。これは先程php.iniに設定したxdebug.idekeyと同じです。
スクリーンショット 2014-03-03 5.11.14

6.下記サイトで、idekeyを入れてgenerateしたjavascriptでブックマークレットをつくる。generateすると下にリンクがでてくるので、そのリンク先に指定されているjavascriptをブックマークに保存します。Start debuggerがデバッグ開始する際のブックマークレットで、Stop debuggerがデバッグを停止する際のブックマークレットです。
http://www.jetbrains.com/phpstorm/marklets/
スクリーンショット 2014-03-03 7.46.16

7.phpstormの赤い電話みたいなマークをクリックして青くします。
スクリーンショット 2014-03-03 7.49.45

Pocket
LINEで送る


3件のコメント

Stas · 03/03/2016 02:26

My choice is Codelobster: http://www.codelobster.com

phpstorm EC2 Xdebugでリモートデバッグ | Logicky Blog · 06/09/2014 05:49

[…] phpstorm vagrantの仮想マシンをXdebugでデバッグするこれでやってもできない。 […]

vagrant - phpstormでxdebug使う(2) - Logicky Blog · 05/20/2015 10:03

[…] 参考:phpstorm vagrantの仮想マシンをXdebugでデバッグする […]

コメントください

関連記事

プログラミング

cakePHP2 – 多言語化

多言語化します。 cakephpマニュアルのこのページに説明が書いてあ 続きを読む …

プログラミング

Go言語によるビットコインのフルノード実装btcdを調べる(2)

btcdを実行した際のプログラムの流れを最初から確認してみます。 se 続きを読む …

%d人のブロガーが「いいね」をつけました。