Linux Windows

WindowsのeclipseからLinuxのPHPをリモートデバッグする(2)WindowsのEclipseの設定

投稿日:2013年7月20日 更新日:

前回の
WindowsのeclipseからLinuxのPHPをリモートデバッグする(1)Linuxにxdebuをインストールする
で紹介したxdeugのインストールが前提となります。

ここでリモートデバッグにおいて注意しなくてはならないことがあります。
eclipseでデバッグする際のsrcコードはどうするかという点です。
eclipseでデバッグするためには、当然eclipseにソースコードをインポートする必要があるという点です。

私が調べたところ、Linuxにsambaの設定をしてLinuxのソースコードをWindowsで共有して使用するという方法ですが、上手くできませんでした・・・ :x001:
今までsambaをあまり使っていなかったので/var/www/html/配下のコードを書き込みモードで共有することができなかったのです。

eclipseでコードを編集してデバッグしたら、リモート上でも編集した結果をもってデバッグしたいと思うのは当然の気持ちです。

そこで私がお勧めするのはlinux上のPHPのソースコードを一旦Windowsにコピーしてそれをeclipseに取り込む方法です。
そしてWindows上でファイルを編集した場合は、winscpのミラーリング機能で自動的にlinuxにも反映させるのです。
これでコードの編集はWinodws上で行い、linux上での実行結果をWindows上でもデバッグできるのです。

eclipseの設定

まずはeclipseのダウンロードですが、色々バージョンがあってこまるところです。
私は32ビットのWinodwsXPにzend-eclipse-php-3.2.0.v20130625331-Win32.zip
をダウンロードして入れました。

Zend.comからZend Eclipse PDTをダウンロードできます

デバッグに必要なプラグインが入っているので、任意の場所に解凍するだけで使用できます。

まずは
Winow>Preferences>PHP>debug
 「PHP Debugger」を「XDebug」にします

eclipse1

デバッグとは直接関係ありませんが、
Winow>Preferences>General>Workspace
 Text File Encodeing をOhter:UTF-8
にしておくと文字化けを解消できます。
eclipse2

次に新しいプロジェクトを作成しておきます。
プロジェクトがないとデバッグできないからです。
テーマはリモートデバッグですが、Local PHP Project でOKです。
eclipse3

Settingの「Project Name」はLinux側でWebに公開しているルート配下のディレクトリ名にしておくとよいでしょう。
/var/www/html/web/・・・
なら「Project Nmae」はwebがよいでしょう。
結局プロジェクト名がソースのトップディレクトリになるので、後で管理しやすい名前がいいと思もいます。
もちろん後で変更できます。
「Locaton」はWinodws側のソースファイルの場所です。デフォルトのworkspaceでよいでしょう。
eclipse4

Launch Settingは初めにアクセスするURLになるだけです。
後でテストする際に変更することもあるでしょう。
ログインのURLになるように入れておけば問題ないでしょう。
eclipse5

最後のLibrariesはよくわからないのでとりあえず不要です。

次にLinux側のPHPのソースコードをWindowsにコピーしておきましょう。
出来上がったプロジェクトを右クリックしてImportを選択します。
Generl>Filse Systemを選択して、Linuxからコピーしてきたフォルダを選択し、全てをインポートします。
From directoryはLinuxからコピーしてきたソースコードのディレクトリ。
into folderはプロジェクトを作成したときに指定したソースファイルの場所です。
今回はWorkspace配下のプロジェクト名のフォルダです。

これでlinux上のソースとWindows上のeclipseのプロジェクトソースが一致しているので、
プロジェクトをdebugします。

debugするにはDebug Configrationsが必要です。

Nmaeはデバッグの名前なのでなんでもOKです。

ServerはNewをクリックして、新しいサーバーを作成します。
ここにはlinuxのサーバーのURLを指定しておけばOKです。
これでDebug ConfigrationsのServer > PHP Serverにlinuxサーバーが指定できます。
Fileは初めにアクセスするindex.phpでもBrowseで選択しておきましょう。

重要なのはURLのところです。
Auto Generateのチェックは外しておきます。
Debug時にアクセスするURLになるので、テストをする際は必要に応じて変更しましょう。
eclipse6

次にDebuggerタグも重要です。
DebuggerのServer Debuggerを「XDebug」に変更しておきます。
BreakpointのBreak at First Lineも初めはチェックを入れておきましょう。
上手くデバッグできると、初めてにブレークポイントがなくてもストップしてくれます。
eclipse7

Deploymentは不要です。今回はwinscpのミラーリング機能でソースコードを即時反映させるからです。

Commonタグも特に不要でしょう。
デバッグ単位でEncodeingを指定ができますが、Window>Generalで先ほど指定してあります。

これで準備は完了です。
デバッグしてみてください。
きっと初めのステップで止まってくれます。 :x002:

winscpでミラーリングする

ここまででデバッグはできているはずです。
しかしwindowsのeclipseで変更したソースはデバッグには当然反映されません。
実行しているのはリモートのlinux上のソースだからです。
winscpをのミラーリングでソースの同期をとることで、eclipseの変更をそのままリモートのlinuxに反映できます。

持っていない人はここからダウンロードしておきましょう。

やり方はとても簡単です。
windows上のソースのディレクトリとlinux上のソースのディレクトリを表示させて、
メニューのコマンド>ミラーリングアップロードを選択して実行するだけです。
ファイルの削除とサブディレクトリにチェックを入れておきましょう。
winscp1

winscpには優れた機能がたくさんあります。
ここでは一番簡単な方法を紹介しただけです。
なれてきたら検索してみてください。

以上2回にわたってWindowsのeclipseからLinuxのPHPをリモートデバッグするでした :x002:

Gooleアドセンス用336

Gooleアドセンス用336

-Linux, Windows
-

執筆者:

関連記事

windows

VMwarePlyaerでCentOSをインストールする

Linuxを勉強するためにはまずLinuxをインストールしなくてはいけません。 いらないPCがあればいいのですが、なかなかそうもいきません。 そこで、WindowsにフリーのVMwarePlayerを …

opensslによるワイルドカード証明書と有効期限の延長

ワイルドカード証明書 認証局への署名要求書(server.csr)の作成 の際のCommon Nameで指定します。 Common Nameに指定して正しく動作するパターン test.jp ホスト名が …

windows

タスクの継続時間

INDEX1 タブの継続時間と詳細設定の継続時間の違い2 分単位で実行させる3 継続時間を1日よりながくすると・・・ タブの継続時間と詳細設定の継続時間の違い タスクの継続時間は2つあります。 タブの …

windows

リモートPCのサービスを操作する

遠隔地のPCのサービスを再起動したい場合って、ほとんどないのですがたまにあります。 そもそもPC Anywhere等をインストールしていればよいのですが、そうしたソフト自体がフリーズすることがあるから …

linux

viのカーソルを先頭や指定行に移動する

gg  先頭に移動 G  最終行へ移動 XG  X行へ移動 行移動する場合は :でコマンドモードに移行して行番号を表示すれば便利です。 :set nu  行番号を表示します :set nonu 行番号 …