(2014/06/11) 本構成を Web アプリのデバッグでも試してみたら、下記の環境では core を吐いて Eclipse が落ちてしまいました。もはや、個人的にはあまり Eclipse はオススメではありません。NetBeans を使うのが無難そうです。
例示におけるプラットフォームは VMware vSphere 上の VM に入れた CentOS 6.5(64bit)です。OSインストール時のパッケージグループとしては Software Development Workstation を選択しました。PHP 5.5 + CakePHP 2.4.4 のインストールに関してはCakePHP のインストールを参照してください。
なお、筆者がクライアントとして常用しているのは Windows 7 64bit Pro です。Windows からはVNCを使って Linux 上の Gnome にログインしています。
EclipseはJavaで書かれた統合開発環境(IDE)です。当初はIBMで開発されましたが、現在はEclipse Foundationに移管されています。前述の環境ではEclipseは最初からインストールされていましたが、残念ながらPDTは入っていませんでした。
PDT(PHP Development Tool)はEclipse上で動作するPHP開発用プラグインです。eclipse-pdtパッケージを提供してくれるyumリポジトリを見つけることができなかったので、ZendのサイトからAll-in-Oneパッケージを持って来ることにしました。PDT Downloadsのページから Linux を選び、PDT 3.2.0 w/Eclipse Indigo (64 bit) をダウンロードします。事前にZendへのユーザ登録が必要です。
zend-eclipse-phpは/opt配下に入れることにします。
root@rice:~# cd /opt root@rice:/opt# tar xzf /tmp/zend-eclipse-php-3.2.0-x86_64.tar.gzm
執筆時点では、Zend Eclipse PDT 3.8 が入りました。Zend版パッケージでは残念ながら日本語化はされていません。どうしても日本語でないと困る方はPleiades - Eclipse プラグイン日本語化プラグインあたりに挑戦してみてください(筆者も挑戦してみましたが挫折しましたw)。
ちなみにXdebugは、PHPのデバッグ用Extentionです。前述のインストール手順を踏んで、php55w-pecl-xdebugというRPMパッケージが入っていればそのまま使えるはずです。
root@rice:~# rpm -qa|grep xdebug
php55w-pecl-xdebug-2.2.3-2.w6.x86_64
前述のインストール手順に従って環境を構築し、VNC または直接 X(Gnome環境) から一般ユーザとしてログインします。メニュー中のEclipse(標準パッケージ)は使用せず、Gnome端末を開いてコマンドラインでEclipseを起動します。
m-hotta@rice:~$ /opt/zend-eclipse-php/zend-eclipse-php
起動時は「ワークスペースの選択(Select a workspace)」ダイアログが表示されます。
各画面は半分のサイズで掲載しています。ブラウザの機能で「新しいタブで画像を開く」などすれば実物大になります。
"Use this as the default and do not ask again"にチェックを付けておくと、次回からは聞かれません。[OK]を押すとワークスペースが表示されます。
[Welcome]と[タスク]のペインは不要であれば[X]で閉じておきます。
Name: | php |
---|---|
Executable path: | /usr/bin/php |
PHP ini file(optional): | /etc/php.ini |
SAPI Type: | CLI |
PHP debugger: | Xdebug |
Eclipseでデバッグをするにあたり、まずプロジェクトを作成する必要があります。前提として、CakePHPのLDAPサポートプラグイン(Yaldap)に従ってホームディレクトリ配下に~/cakeとしてCakePHPコンソールアプリの実行環境があるものとします。
ユーザ名はご自分の環境に合わせてください。[Next]で進みます。
行番号の左の帯をダブルクリック
これで実行中に変数の値などがリアルタイムで参照できるので、デバッグ効率が格段に上がります。ただ(Eclipse/PDT/XDebugいずれかの)動作に癖があるので、慣れないと最初はいろいろと戸惑うことも多いかもしれません。