phpstorm9 – xdebugが使えなくなった (cakephp)

下記のようなエラーが出る。

Error: Fatal Error (4): syntax error, unexpected ‘;’ in [xdebug://debug-eval, line 1]
Error: [FatalErrorException] syntax error, unexpected ‘;’
Request URL: /hogehoge
Stack Trace:
#0 /Applications/XAMPP/xamppfiles/htdocs/hogehoge/cgi/lib/Cake/Error/ErrorHandler.php(205): ErrorHandler::handleFatalError(4, ‘syntax error, u…’, ‘xdebug://debug-…’, 1)
#1 [internal function]: ErrorHandler::handleError(4, ‘syntax error, u…’, ‘xdebug://debug-…’, 1, Array)
#2 /Applications/XAMPP/xamppfiles/htdocs/hogehoge/cgi/lib/Cake/Core/App.php(931): call_user_func(‘ErrorHandler::h…’, 4, ‘syntax error, u…’, ‘xdebug://debug-…’, 1, Array)
#3 /Applications/XAMPP/xamppfiles/htdocs/hogehoge/cgi/lib/Cake/Core/App.php(904): App::_checkFatalError()
#4 [internal function]: App::shutdown()
#5 {main}

ここに同じようなエラーが出ているが、解決策などは書いてない。
Avoide debug eval error

下記に、Are you watching any variables in Netbeans/Xdebug? I had some weird errors like that until I cleared my watch list. とかいてあって、watchしてる変数を削除したらいいのかなと思った。watch変数を削除して、ブラウザのセッションを削除したら、とりあえずなおった。ブラウザ(chrome)のセッション削除だけでなおったのかもしれない。

http://www.yiiframework.com/forum/index.php/topic/50746-getting-unknown-property-yiiwebapplicationvalue/

vagrant – phpstormでxdebug使う(2)

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

上記で、xdebug使えるようになったのですが、Vagrantfileで下記のように設定する場合は、remote_hostが変わるし、あとどうも動かないと思ってたら、マカフィーにとめられていた。

だから下記のようにしつつ、マカフィーのファイアウォールをゆるめる必要がありました。
$ sudo vim /etc/php.d/xdebug.ini

あと、autostartを1にすると、ブラウザのお気に入りをクリックして、デバッグ開始したり停止したりしなくてよくなるから便利だった。

Vagrant – phpstormでxdebugが使えなくて困った

Vagrantfileの下記で、hostを9092にしていたんですが、xdebugが動きませんでした。
9080にしたら動きました。

ちなみにphpStormのpreferencesでphp > serversとかは特に設定しなくてもいいらしい。勝手にphpStormで検知してくれるようだ。

phpstorm EC2 Xdebugでリモートデバッグ

参考:
With a static IP/single developer
xDebug remote_connect_back not working for AWS EC2 instance

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

xdebug

IDEが1つの場合は、xdebug.remote_hosetを設定して、複数の場合は、xdebug.remote_connect_backに1を設定するようだ。

/etc/php.d/xdebug.ini

やってみたが、できなかった。ログがでた。

Setting up port-forwarding resolved this.という情報もある。
9000ポートを自分のmacで空ければいいのかな。
やめよう。

phpstorm vagrantの仮想マシンをXdebugでデバッグする

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

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行目。

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

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

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

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

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を再起動しておきます。

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

Vagrant – phpstormでデバッグする CentOS6.5

共有ディレクトリあるし簡単に出来たりして。出来ないねやっぱ。
リモートデバッグを調べる。

PhpStormでXdebugのリモートデバッグを設定する方法

ちなみにVagrantのCentos6.5サーバです。
サーバに、Xdebugをインストールしてみる。

php-pecl-xdebug.x86_64 0:2.1.4-1.el6がインストールできた。

phpstormの設定

できない!php.iniに設定かかないといけないのか。
To use PhpStorm with Ubuntu Vagrant install Xdebug for PHP

xdebug.soの場所を探す。

php.iniに追加

うおーできた!

その他phpstormの設定でやったこと。
Xdebugの設定 XAMPP macこれに書いたことやった。

便利すぎるPhpStormのXdebug

printデバッグ離れできるようになるために試してほしいPhpStorm+Xdebug用例集(1)参考

これ読んで感動した。

・variablesからwatchesにはドラッグアンドドロップで移動できる。
・関数を実行した結果も、watchesで監視できる。
・ブレーク中に任意のPHPコードを実行させることができる! これは、Evaluate Expressionでできる。

Xdebugの設定 XAMPP mac

Mac OS X 10.5 + XAMPP で xdebug を有効にする参考

php.iniにXdebugを有効化する為の記述を追加

xdebug.idekeyは、任意の文字列。
あとはapache再起動するだけ。簡単だ。

phpStormの設定

・Priferences->PHP->DebugはデフォルトでOKだった。
 Portとかを変える場合、違う場合はそれに合わせて設定する。
・Priferences->PHP->Serversで、localhost:80、Xdebugを設定しておいて、
・Run->Edit configurations->Defaults->PHP Remote Debugで、上記で設定したServerを選択し、ide Keyを入力して、設定を保存する。

その後、
http://www.jetbrains.com/phpstorm/marklets/で、idekeyを入れてgenerateしたjavascriptでブックマークレットをつくる。

そして、
・Run->Start Risten PHP Debug ConnectionsをONする。
・デバッグしたいページをブラウザに表示させて、先程のブックマークレットをクリックする。

これで、Xdebugは動きますので、breakpoint設定していれば、そこでとまります!便利だ。。

プロファイラを取得する機能も便利らしいので、今度やってみる。