2011年7月20日水曜日

Windows上のEclipseから、Linux(Fedora15)のPHPをリモートデバッグ

Windows上のEclipseから、Linux(Fedora15)のPHPをリモートデバッグしようしてもなかなかうまく行かなかった。いろいろググッてみたけれどなかなかわからなかったが、たまたま解決したので、原理はよくわからんけど解決方法をメモっておきます。

◎ リモートデバッグNGの時の症状
  • ブレークポイントで止まらない。
  • xdebug_break(); だと止まる。止まったところでの変数の中身等は見られる。
  • ↑で止まったところからのステップ実行はできない。
◎ 解決したとき、やってみたこと (全部Linux側の作業)
  • ZendFrameworkをインストールした。(YumExtenderからZendで検索し片っ端から入れたので、どのモジュールのおかげで解決したかはわかりません)
  • /etc/php.ini でいままで
      extension=xdebug.so
    としていたところを
      zend_extension=/usr/lib64/php/modules/xdebug.so
    に変更した。(適宜xdebug.soの場所を探して値を入れ替えてください。)
  • apache再起動
  • これで、ブレークポイントでピタっと止まり、ステップ実行もバシバシいきました。

◎ 設定の参考に・・・
xdebug リモート関連の php.ini 設定がいまいちピンと来ない人は、
http://www.xdebug.org/docs/remote#communication
がおすすめ、ここのアニメーションgifがとてもわかりやすい。