EclipseからACCONを使用して開発を行うためのプロジェクト作成とリモートデバッグ方法を説明します。
1.PHPプロジェクトの作成方法
1.1. Eclipseの起動
任意のワークスペースを選択してEclipseを起動します。
1.2.新規プロジェクトの作成
メニューの[ファイル]→[新規]→[PHPプロジェクト]を選択します。
- プロジェクト名:任意のものでOK
- 内容:既存ロケーションにプロジェクトを作成
- Windowsの場合
/c/Users/[ユーザID]/develop/data-volume/workspace/project - OS Xの場合
/Users/[ユーザID]/develop/data-volume/workspace:/develop/workspace/project - PHPバージョン:5.5
- JavaScriptのサポート:On
上の情報を入力後、完了ボタンを押すとプロジェクトの作成は完了です。
2.リモートデバッグの設定
2.1.PHPサーバーの作成
2.1.2.PHPサーバーの設定
コンテナ上のサーバーをリモートデバッグするためにPHPサーバーの設定を行います。
[ウィンドウ]→[設定]を実行して設定画面を開く。
設定画面の左ペインの[PHP]→[サーバー]を選択し、右の[新規]ボタンを押す。
コンテナのWEBサーバーを新しいPHPサーバーとして登録します。
- サーバー・タブ
- 名前:project-server-01
- ベースURL:https://192.168.99.100
- Local Web Root:
2.1.2.1.ベースURLの確認方法
Kitematicを実行して、「project-server-01」を起動(停止していた場合は[START]ボタンを押す)
起動後、左ペインの[WEB PREVIEW]をクリックしてブラウザでサンプルアプリケーションにアクセスします。
起動したブラウザに表示されているURLが「ベースURL」です。
2.1.3.Xdebugの設定
[デバッガー・タブ]を開き、デバッガーをXDebugを選択します。(ポートはデフォルトの9000)
2.1.4.パス・マッピングの設定
[パス・マッピング・タブ]を開き、サーバー上のパストローカルのパスを関連付けます。
[追加]ボタンを押して下の2つのパスを設定します。
- fuelphpのパスを設定
- サーバー上のパス
/develop/workspace/project/fuel - ワークスペースのパス
/MyProject/fuel
- サーバー上のパス
- wwwの公開パスを設定
- サーバー上のパス
/develop/workspace/project/public - ワークスペースのパス
/MyProject/public
2.1.5.PHPサーバーのデフォルト設定
追加されたPHPサーバー「project-server-01」を選択して[デフォルトの設定]ボタンを押します
[完了]を押してPHPサーバーの作成を完了します。
2.2.リモートデバッグ
2.2.1.リモートデバッグの設定
[実行]→[デバッグの構成]を実行します。
左ペインの「PHP Web アプリケーション」をクリックし[新規]を実行します。
2.2.1.1.サーバー・タブの設定
- 名前:DEBUG_project-server-01(任意の名前でOK)
- PHPサーバー:先ほど作成した「project-server-01」を選択します。
- ファイル:/MyProject/public/index.php
- URL
- 自動生成:チェックボックスをOff
- URLの右のテキストボックス:/
2.2.1.2.デバッガー・タブの設定
ブレークポイント:[最初の行でブレーク]をOffに設定します。
[適用]ボタンを押した後、[閉じる]ボタンを押して「デバッグの構成」を閉じます。
2.2.2.リモートデバッグの実行
サンプルアプリケーションのトップ画面である[/MyProject/fuel/app/classes/controller/welcome.php]を開き、47行目のindexファンクション内の最初にブレークポイントを設定します。(画面の矢印の箇所をダブルクリックするとブレークポイントが設定されます)
もう一度、デバッグの構成を開き「DEBUG_project-server-01」を選択後、右下の[デバッグ]ボタンを押しデバッグを開始します。
セキュリティの警告が出ますが開発環境ですので[はい]を押して続行します。
リモートデバッグが開始され、先ほど設定したブレークポイントで、実行が一時停止します。
2.2.2.1.リモートデバッグが開始されない場合
ファイアウォールの設定によりコンテナで実行されているXDebugのポートに接続できない場合があります。
リモートデバッグ開始後、タイムアアウトが発生するケース。
リモートデバッグのセッションが接続できないケース。
その場合、ファイアウォールの設定を変更する必要があります。
Windowsの場合、[コントロールパネル]→[システムとセキュリティ]→[Windows ファイアウォール]から詳細設定を開きます。
[受信の規則]からEclipseでブロックされているものをダブルクリックで開きます。
[プロトコルおよびサポート]タブを開きます。
プロトコルがTCPであることを確認しまし。
接続を許可し[OK]ボタンを押して設定を反映します。
これでコンテナのXDebugに接続できるようになります。
3.開発スタート
これでACCONを利用したWebアプリケーション開発の準備は整いました。
当プロジェクトの内容を変更すれば、即座にコンテナで動いているアプリケーションに反映されます。また、/MyProject/fuel/app/logsには、アプリケーションのログが出力されます。