Lazy ServiceでEclipse+XdebugによるPHPデバッグ環境を構築してみる

##Eclipseを入手する
1. [Eclipse公式ダウンロードサイト](https://www.eclipse.org/downloads/packages/)を開いて、「Eclipse IDE for PHP Developers」のところへ移動する。右側の「Windows 64-bit」リンクをクリックする。
![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373279/2cbea891-02bf-7a22-fa1d-15065090e6d8.png)
2. Downloadボタンをクリックしてzipファイルをダウンロードする。
![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373279/8776068c-f774-9106-8c3d-7c269a9a2b51.png)
3. eclipse-php-2019-09-R-win32-x86_64.zipを解凍する。

##Lazy Serviceをインストールする
Lazy Serviceのインストール方法は、下記の記事を参照してください。
　　　  [[ Lazy ServiceでApache+PHP動作環境を構築してみる ]](https://qiita.com/freelazy/items/f0a31d0efbf8da09a540)
構築後、Lazy Serviceのモジュール(64bitの場合)は"C:\Program Files\LazyService"フォルダに格納される。
![4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373279/498d1d98-1d37-a9f1-5587-73e230f53150.png)

##Eclipseで新規プロジェクトを作成する
**1．Eclipseを起動すると、Workspaceを"C:\workspace"で指定して、[Launch]ボタンをクリックする。**
![5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373279/68d92da3-d73d-3046-d475-a5b4da422afd.png)
起動中…
![6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373279/fbfd00b8-79df-e2f5-0368-f346bf032c4b.png)
**2．EclipseにPHP.exeを指定する**
2-1. Welcomeページが出たら、「Add PHP Executable」をクリックします。
![7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373279/9a50aae6-8ee2-a89e-8639-f74890396881.png)
2-2. 「Installed PHPs」画面で「Add」ボタンをクリックする
![8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373279/299c3507-73ea-7752-fbc0-d19c4bd8fe74.png)
2-3. 「New PHP Executable」画面でExecutable Path値をLazy Service(64bit)インストール先のPHPフォルダに7.3バージョンのphp.exeで設定する。「Next」ボタンをクリックする
![11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373279/2116009b-64c0-0c58-3d8d-32fc8c709785.png)
2-4. デバック接続ポートは9000のままで、[Finish]ボタンをクリックする。
![12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373279/d516b9f7-0dff-361f-8386-b1e3ea210b02.png)
2-5. それで、PHP実行環境の設定が完了です。[Apply and Close]ボタンをクリックして設定画面を閉じる。
![13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373279/6ddfdaa7-b170-4ca3-080a-9c0f2765eb8d.png)
**3．新規プロジェクトを作成する**
3-1. Welcomeページに、「Create a new PHP project」をクリックします。
![14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373279/072bfe15-c324-0547-c5e2-771559d32fa1.png)
3-2. Project Nameに"sample"を入力して、[Finish]ボタンをクリックする。
![15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373279/517f8c2c-fe5c-6556-521c-8ca9243a42da.png)
3-3. 以下のように"sample"プロジェクトが作成された。
![16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373279/e803cd07-4009-5626-5be9-4630aa0df778.png)
3-4. "sample"プロジェクト → New → Fileで新規ファイル作成画面を開き、File Nameに"index.php"を入力し、[Finish]ボタンをクリックする。
![17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373279/e5136a03-ecdc-7526-08ba-8c1c49b20ac4.png)
3-5. index.phpファイルが作成され、その中に<?php phpinfo();?>を入力してファイル保存する。
![18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373279/1b5ba0d8-397e-16ec-a4ea-28fb51c2df34.png)
Xdebug動作確認のため、Eclipse画面のそのまま保持してください。
##Lazy ServiceをXdebug状態に設定する
1. [APACHE] -> [Normal]で下記の値を設定して[Save]ボタンをクリックする。

　　　   Server Root:    C:\Program Files\LazyService\Apache\2.4
 　　　  Document Root:  C:\workspace\sample
　　　   PHPModule:       7.3

![19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373279/89fc6a26-730f-d6c5-180d-4d89042c4f91.png)
2.「PHP」->「Extension」->「xdebug-2.7.2-7.3-vc15-x86_64」を選択状態に設定する。
![20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373279/6e6b1c90-a562-219d-1640-cc27b1a94391.png)
3.「PHP」->「Xdebug」->"remote"ラジオボタンを選択状態にし、赤枠中の各項目に値を入力する。
![21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373279/5423ffc6-7a30-c65e-34a9-18ff3cc89f38.png)
4.「PHP」-> [Save]ボタンをクリックする。
![22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373279/6b50e2ec-6847-15a9-0201-d912c6695ccf.png)
5. [SERVICE] -> Apache 2.4を選択して[START]をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373279/9ece24b5-be2e-1129-c8c7-5ad537313105.png)
##Xdebug動作確認
上記手順で、Xdebug動作環境ができたので、ブラウザを開き、アドレスバーに "http://localhost" を入力する。
![23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373279/c87d5a80-68c4-3101-dea6-4270e21deb87.png)
すると、Eclipse IDEから"Confirm Perspective Switch"ポップアップ画面が飛び出して、[Switch]ボタンをクリックする。
![24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373279/41bbf37f-ab3c-1597-180f-6a3a4c4430e4.png)
index.phpの1行目に止まって、Xdebugが動作している様子がわかる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373279/9461effd-77cc-1183-a8ba-624505d29062.png)
そして、F8キーをクリックすると、次へ実行され、index.phpの内容phpinfo()がブラウザに表示される。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373279/4aea7c64-2ff8-ba75-6c4d-e89b7bcf19b0.png)

以上で、Xdebug動作環境ができていることが確認できた。

最後、もしXdebug動作を中止したい場合、「PHP」->「Xdebug」-> [remote] -> [enable]のチェックボックスにチェック外して、まず「PHP」->　[Save]で変更内容を保存し、次は [SERVICE] -> "Apache 2.4"を選択 -> [RESTART]ボタンで再起動すれば、Xdebugのデバック状態が解除される。
それは開発途中でサーバ動作モードを切り替えする際、早くて便利なのですごく助かる。