PHPをお使いの方の多くは、PHPStormかな?と思われますが、Eclipseでもデバッグ環境が出来るので、ブレークポイントがはれるところまで構築した際のメモ書き。主にプロジェクトの同期設定とデバッグ環境の構築までです。日本語環境のセットアップは含まれません、あしからず。
パッケージ一覧:
Eclipse: Oxygen.2 Release (4.7.2)
xdebug: php-pecl-xdebug.x86_64 2.6.0-1.el7.remi.7.0
Vagrant: Vagrant 2.0.2
Laravel: Laravel Framework 5.5.35
1. Laravel setup
こちらを Laravel 5.5: Vagrant + Nginx + PHP + MySQL + CentOS setup
2. Eclipse PDT download
2.1 Eclipseのパッケージ一覧のページへ行きます。Eclipse for PHP Developer.の右側にある 64bitをクリックすると、ダウンロードページへ飛ばされますので、[DOWNLOAD]をクリックします。そのうち、dmg(eclipse-php-oxygen-2-macosx-cocoa-x86_64.dmg)ファイルがダウンロードされます。
2.2 ダウンロードした dmgファイルをダブルクリックして現れる Eclipseアイコンを Applicationフォルダへドラッグしてインストールします。
3. Eclipse setup
3.1 Eclipseを起動します。ワークスペースの場所はデフォルトのままで次に進むと初期画面が表示されますので、タブの [X]をクリックして閉じます。この画面が毎回表示されないようにするには、右下のチェックボックスのチェックを外します。
3.2 メニューから [Eclipse]→[Preferences…], Remote connectionsを選択します。
3.3 [Add]をクリックすると Connectionの編集画面が開きます。Host: User: Password:を入力したら [Finish]をクリックします。
3.4 一旦、Vagrantを起動したフォルダへ戻って、”vagrant ssh-config”とコマンドを入力し、SSH Keyの格納場所をメモします。Eclipseの Preferenceに戻って、SSH2のパネルの Private keyにメモしたパスを入力します。そしたら [Apply and Close]クリック。
3.5 Gitが除外するファイルを指定します。File Filteringパネルから除外する名称を二つ追加します。 (.ptp-sync, .ptp-sync-folder) 追加し終わったら [Apply and Close]をクリック。
3.6 Synchronized PHP Projectを作成します。 [File] → [New] → [Project] → [Synchronized PHP Project] → [Next]. New Synchronized Projectパネルに必要な情報を入力します。入力が終わったら[Finish]をクリック。
* 注意:Finishボタンを押下する前に、/usr/share/nginx フォルダの権限を 777にしておくこと。これをしておかないと、エラーが表示されてファイルが同期されません(本来は除外されるべきだとは思いますが、バグなんでしょうかね)
3.7 Synchronize PHP Projectの作成が完了です(数分かかります)
* 構文エラーがいっぱいでるのですが、消し方がわかりませんでした、どなたかご存知でしたら教えてください。
4. Debug
4.1 デバッグの設定を行う前に、CentOS側に Xdebugをインストールし設定をする必要があります。
* 設定が終わったら忘れずに再起動しましょう.
[root@localhost app]# yum -y install --enablerepo=remi,remi-php70 php-pecl-xdebug [root@localhost app]# vi /etc/php.d/15-xdebug.ini xdebug.remote_autostart = 1 xdebug.remote_enable = 1 xdebug.remote_host = 10.0.2.2 xdebug.remote_port = 9001 [root@localhost app]# reboot
4.2 Eclipseへ戻り [Run] → [Run Configurations…] “PHP Web Application”をクリックすると New Connectionが追加されます。必要な情報を入力します(File: “index.php”。”Auto Generate”のチェックは外す。URLに “/index.php”を設定したら [Apply]をクリック。
4.3 同じパネルにある[Configure]をクリック。Base URLを 192.168.33.10、[Browse]をクリックしてプロジェクトのディレクトリを指定します。
4.4. [Debugger]タブへ移動。 Debugger:の箇所を “XDebug”に設定、Portを 9001、それから [Global Settings]をクリック。同じく、Debug Port: 9001に設定, Accept remote session (JIT): prompt or (any), Captureの箇所は両方とも offにしたら、[OK]で戻ります。
4.5 [Path Mapping]タブへ移動。サーバのパスとローカルフォルダのパスを入力して [OK] をクリックし、それから [Finish]をクリック
4.6 では実際にブレークをはってみましょう。Project exploreからファイルを選びブレークポイントを設定します。ソースコードの左端の行番号のあたりをダブルクリックするとブレークポイントがセットされます。バグボタン右側の三角マークをクリックして New_configurationを選択するとデバッグモードに入ります。
4.7 ここで、他のブラウザから 192.168.33.10へアクセスするとブレークポイントが緑色になり実行が停止します。ここで変数をみたりステップ実行したりできます。
ご参考までに. 😄