猫型iPS細胞研究所

Windows、Linux、iOS、DB、Network

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
-

執筆者:

関連記事

linux

samba(共有)の設定手順

INDEX1 (1)smbをyumでインストールする2 (2)linuxユーザーを追加する。3 (3)linxユーザーのパスワード4 (4)linuxユーザーをsmbaのユーザーに追加する5 (5)設 …

ルートの追加と削除(Windows Linux)

windowsのルートの追加・削除 route add [オプション] [宛先IP] mask [mask] [gateway] metric [metric値] if [if値] オプションの-pを …

mysql

MySQL ERROR: Can’t connect to MySQL server on ‘xxx.xxx.x.xx’ (13)

MySQL ERROR: Can’t connect to MySQL server on ‘xxx.xxx.xxx.xxx’ (13) はSELinuxによる接続 …

linux

linuxの最大ファイルサイズの確認

INDEX1 ファイルシステムの種類を調べる2 ブロックサイズを調べる3 linuxのカーネルバージョンを調べる ファイルシステムの種類を調べる 以下ext3での最大ファイルサイズの調べ方です。 df …

linux

vmware上のCentOSに仮想化ソフトxenをインストールする(2)ドメイン0のインストール

管理osであるドメイン0のインストール方法です。 INDEX1 xenのインストール2 GRUBの設定変更3 確認 xenのインストール # yum install xen virt-manager …