VirtualBox + CakePHP + Eclipse + xdebug

Posted by muchag | CakePHP 3.x,Eclipse,Library & PlugIn & AddIn,VirtualBox | 2017-12-09 (土) 21:31:49

【環境】
VirtualBox グラフィカルユーザーインターフェース: 5.1.24 r117012 (Qt5.6.2)
php: 7.1.5
CakePHP:3.4
Eclipse: 4.7
xdebug: 2.5.5
xdebug のインストール

yum --enablerepo=remi-php71 -y install php71-php-pecl-xdebug

例によって、標準以外のディレクリにインストールされるので、コピー。


find / -name 'xdebug.so'
/opt/remi/php71/root/usr/lib64/php/modules/xdebug.so
cp /opt/remi/php71/root/usr/lib64/php/modules/xdebug.so /usr/lib64/php/modules/xdebug.so
ll /usr/lib64/php/modules/ | grep xdebug
-rwxr-xr-x 1 root root  261560 12月  9 21:28 xdebug.so
設定
php.ini
/etc/php.ini

[xdebug]
zend_extension=xdebug.so
xdebug.default_enable = 1
xdebug.remote_enable = 1
xdebug.remote_port=9000
xdebug.remote_autostart=1
xdebug.remote_host=192.168.56.1
Eclipse
実行構成
  1. [実行]-[実行構成]
  2. 「実行構成」ダイアログ
    1. 左ペイン
      1. [PHP Web アプリケーション] を選択
      2. 上部ツールボタンから [新規の起動構成]
    2. 右ペイン
      1. 名前:任意
      2. 「サーバー」タブ
        1. PHP サーバー:[新規]
        2. 「PHP サーバーの作成」ダイアログ
          1. 「新規 PHP サーバー」
            1. サーバー名:任意
            2. ベース URL:http://192.168.56.2
            3. [次へ]
          2. 「デバッガー設定」
            1. デバッガー:[XDebug]
            2. 右の [グローバル設定] リンクをクリック
            3. 「XDebug」ダイアログ
              1. リモート・セッション受信(JIT):[任意] を選択
              2. [OK]
            4. ポート:任意(php.ini で設定した値)
            5. [次へ]
          3. 「パス・マッピング」
            1. [追加]
            2. 「パスマッピングの追加」ダイアログ
            3. 「新規パス・マッピングの追加」
              1. サーバー上のパス:/var/www/html/hoge
              2. 「ファイル・システムのパス」を選択
              3. ファイル・システムのパス:[参照] から、Windows ローカルの index.php があるディレクトリを選択
              4. [OK]
          4. [完了]
        3. ファイル:[参照] から、Eclipse プロジェクトディレクトリ内の index.php を選択
        4. URL
          1. [自動生成] の✔を外す
          2. URL:右のテキストボックスに /index.php
    3. [実行]
デバッグ

[ウインドウ]-[設定]
「設定」ダイアログ
左ペイン [PHP]-[デバッグ]
右ペイン [最初の行でブレーク] の✔を外す

デバッグ実行

[デバッグ] ツールボタン(虫アイコン)で、直前のデバッグ構成を実行。
[デバッグ] ツールボタン(虫アイコン)右の▼から、デバッグ対象を選択して実行。

リモート・セッション

実は上記設定を最初に行ったときは、
左記のようなアラートが出た。

アラートの [here] からダイアログを開き
リモート・セッション受信(JIT):[任意] を選択したら、
無事にブレークポイントで止まってくれた♪

外部ブラウザ

スマートフォンサイトのエミュレーションであったり
デベロッパーツールを利用するために
Chrome 上でデバッグを行いたい場合は
スマートフォンサイト

CakePHP 3.x,Eclipse,Library & PlugIn & AddIn,VirtualBox | 2017-12-09 (土) 21:31:49 |

AngularJS Eclipse 1.2.0

Posted by muchag | AngularJS,Eclipse,Library & PlugIn & AddIn | 2017-09-03 (日) 11:21:41

AngularJS 用プラグイン。

【環境】
Eclipse:Oxygen (4.7)
AngularJS Eclipse:1.2.0.201606160950
OS:Windows10 Pro 64bit
インストール

マーケットプレイスからインストール。

適用

プロジェクトのコンテキストメニュー
[構成]-[Convert to AngularJS Project…]

Term Plugin の
[モジュール] というダイアログが出るので [適用して閉じる]

設定
検証

プロジェクトのコンテキストメニュー
[プロパティー]

左ペン [検証]-[HTML 構文]
[プロジェクト固有の設定を可能にする] にチェック
[次の検証問題の重大度レベルを選択:]

要素

[不明なタグ名]-[無視]
[無効なタグ名]-[無視]

属性

[未定義の属性名]-[無視]
[未定義の属性値]-[無視]

[適用して閉じる]
[検証設定が変更されました] ダイアログがでるので [はい]

アウトライン

[ウィンドウ]-[ビューの表示]-[その他]
[JavaScript]-[Tern Outline]
で、専用アウトラインビューが開く。

参考サイト

Java Code Geeks:Eclipse IDE AngularJS Tutorial

AngularJS,Eclipse,Library & PlugIn & AddIn | 2017-09-03 (日) 11:21:41 |

EPP Marketplace Client

Posted by muchag | Eclipse,Library & PlugIn & AddIn | 2017-09-03 (日) 10:35:24

プラグイン配布所のクライアント。

【環境】
Eclipse:Oxygen (4.7)
EPP Marketplace Client:1.5.1.v20160929-1432
OS:Windows10 Pro 64bit
概要

Marketplace もプラグインなんだそうで
Oxygen インストール時には、存在しなかったので
手動で追加。

インストール

2017-09-03 現在
Oxygen 用マーケットプレイス配布ページ は、まだ存在しないようなので
Neon 用マーケットプレイス配布ページ からインストールした。

これによる不具合が起きませんように。。。

Eclipse,Library & PlugIn & AddIn | 2017-09-03 (日) 10:35:24 |

スマートフォンサイト

Posted by muchag | Eclipse | 2016-02-21 (日) 13:56:59

レスポンシブ Web サイトのデバッグを行っていて、
いざスマートフォンサイトのデバッグを行おうとして、UA 偽装の方法がわからなかった。

【環境】
Eclipse:Mars.1 (4.5.1) PHP
OS:Windows7 SP1 64bit
解決方法

単に、UA 偽装した外部ブラウザを設定すればよいだけ。

デバッグを開始すると、指定した外部ブラウザが自動的に起動する。
更新も、外部ブラウザ自体の更新(F5)で、Eclipse がちゃんと反応する。

外部ブラウザの設定方法
  1. [ウインドウ]-[設定]
  2. [一般]-[Web ブラウザー]
  3. Web ブラウザー
    1. [外部 Web ブラウザーを使用] を選択
    2. 外部 Web ブラウザー
      1. 適宜選択
      2. ない場合
        1. [新規]
        2. 外部 Web ブラウザーの追加
          1. 名前:任意
          2. ロケーション:当該ブラウザーの .exe ファイルへのパスを記述。[参照] から選べばよい
          3. パラメーター:ここに UA 偽装のパラメーターを指定

※パラメーターの欄が狭いので、下記のような長いパラメーターを入れると先頭まで見えない。
でも、入力欄の右にスピンボタンがあるので、そちらで確認することができる。

パラメーター
Chrome の場合

の一例。

  1. --user-agent="Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0 like Mac OS X; ja-jp) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5A347 Safari/525.20" --user-data-dir="c:\temp"
Eclipse | 2016-02-21 (日) 13:56:59 |

ファイルの関連付け

Posted by muchag | Eclipse | 2016-02-16 (火) 16:53:49

【環境】
Eclipse:Mars.1 (4.5.1) PHP
OS:Windows7 SP1 64bit
手順

[ウィンドウ]-[設定]
[一般]-[エディター]-[ファイルの関連付け]
ファイルの関連付け
ファイル・タイプを選択。なければ追加
エディターの選択。なければ追加

Eclipse | 2016-02-16 (火) 16:53:49 |

デバッグ -> ブレークポイントで止めると、再開時エラーになる

Posted by muchag | Eclipse | 2016-01-07 (木) 19:02:09

【環境】
Eclipse:Mars.1 (4.5.1) PHP
症状

あるとき、突然デバッグ中に例外が発生するようになった。

ブレークポイントで止めて、再開させるとすぐ例外になる。
ブレークポイントの位置を変更しても変わらず。

エラー内容

「未定義のメソッドを使ってるよ~」だそうです。

PHP Fatal error: Uncaught exception ‘sfException’ with message ‘Call to undefined method opPcFrontWebController::getOption.’ in …

Call to undefined method searchActions::getOption.

原因

Eclipse [デバッグ] パースペクティブの [式] ビューに
$this->getOption(); を登録してあったこと。

解決

上記ウォッチ式を削除する。

試行錯誤

最初は真剣にエラー文言の通り、メソッドが足りないのかと
エラー文言で Google 先生へお伺いを立てた。

でも、な~んもなし。

それで、ふと思いつき、エラートレースの中の xdebug://debug-eval で検索したら
stack overflow:Call to a member function getAction() on a non-object
を見つけた。

中を読むと、ウォッチリストを全部削除したら直った、と書いてあったので
ウォッチリストを見てみると、$this->getOption(); なんていう式が・・・。

なるほど、これの getOption か。。。
チャンチャン。

Eclipse | 2016-01-07 (木) 19:02:09 |

YEdit

Posted by muchag | Eclipse,Library & PlugIn & AddIn | 2016-01-06 (水) 17:38:42

テーマを「ダーク」にしているせいか
YAML ファイル内容がグレー一色で暗いので、
こちらを試してみた。
GitHub:YEdit

【環境】
Eclipse:Mars.1 (4.5.1) PHP
OS:Windows7 SP1 64bit
インストール
  1. [ヘルプ]-[Eclipse マーケットプレース]
  2. Eclipse マーケットプレース
    1. 検索窓で「YEdit」
    2. [インストール]
  3. 選択されたフィーチャーの確認
    1. [確認]
  4. ライセンスのレビュー
    1. [使用条件の条項に同意します] を選択
    2. [完了]
関連付け
  1. [ウインドウ]-[設定]
  2. 左ペイン:[一般]-[エディター]-[ファイルの関連付け]
    1. ファイルの関連付け
      1. ファイルタイプ
        1. 選択。なければ [追加]
      2. 関連付けられたエディター
        1. 選択。なければ [追加]
    2. [OK]
書式設定
  1. [ウインドウ]-[設定]
  2. 左ペイン:[YEdit Preferences]-[「色」設定]
メモ
  • コメント:RGB(98, 98, 98)
  • キー:RGB(167, 236, 33)
  • Scalars:RGB(232, 198, 163)
  • 定数:RGB(167, 236, 33)、太字
  • アンカー:未設定
  • エイリアス:未設定
  • タグ:未設定
  • 文書:未設定
  • デフォルト:未設定
Eclipse,Library & PlugIn & AddIn | 2016-01-06 (水) 17:38:42 |

eclipse.ini

Posted by muchag | Eclipse | 2015-12-31 (木) 14:52:08

【環境】
Eclipse:Mars.1 (4.5.1) PHP
OS:Windows7 SP1 64bit
ファイル内容
  1. -product
  2. --launcher.defaultAction
  3. openFile
  4. --launcher.XXMaxPermSize
  5. 512M
  6. --launcher.defaultAction
  7. openFile
  8. --launcher.appendVmargs
  9. -vmargs
  10. -Dosgi.requiredJavaVersion=1.7
  11. -Xms256m
  12. -Xmx1g
  13. -Xverify:none
  14. -javaagent:dropins/MergeDoc/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
メモリ
  1. -Xms256m → 1g
  2. -Xmx1g → 2g

としてみた。

Eclipse | 2015-12-31 (木) 14:52:08 |

“ワークスペースをビルド中” 中に内部エラーが発生しました。

Posted by muchag | Eclipse | 2015-12-20 (日) 13:13:54

コードのインデントにはタブを利用しないように、という話がある。
でも、コーディング中はタブキーは便利♪
そこで、タブをスペースに変換してくれる Eclipse の機能を利用。

【環境】
Eclipse:Mars.1 (4.5.1)
症状

発生したタイミング不明。

“ワークスペースをビルド中” 中に内部エラーが発生しました。
org.eclipse.objectteams.otdt.internal.migration.OTJProjectMigration cannot be cast to org.eclipse.objectteams.otdt.internal.compiler.adaptor.ProblemCleaner
原因

不明。

エラー文言が抽象的すぎて、検索不能。

解決
eclipse.exe

と同じ階層にある

eclipse.exe -clean.cmd

をダブルクリックして、クリーン起動することで
エラーが出なくなった。

Eclipse | 2015-12-20 (日) 13:13:54 |

同期化(差分を見る)

Posted by muchag | Eclipse,Git | 2015-12-18 (金) 16:13:33

【環境】
Eclipse: Mars.1 (4.5.1) PHP
手法
同期化パースペクティブを開くまで

いきなり [チーム同期化] パースペクティブを開くと、
[データ読み込み] か [同期化] か選べ!
と言われて、困ったw

Git
  1. [Git リポジトリー] ビュー
  2. 当該プロジェクトを開く
  3. [ブランチ] を開く
  4. [ローカル] または [リモート・トラッキング] を開く
  5. 当該ブランチのコンテキストメニューから [ワークスペースと同期化] をクリック
  6. 「[チーム同期化] パースペクティブを開くよ」というダイアログが出るので [はい]
  7. [チーム同期化] パースペクティブが開く
同期化パースペクティブ
ローカルブランチから開いた場合

この場合は、ローカルリポジトリと編集中ファイルの差分を見ることになる。

差分のあるファイルがプロジェクトツリーとして表示されているので
目的のファイルをダブルクリックすれば、差分用の左右に並んだビューが開く。

リモート・トラッキングブランチから開いた場合

この場合は、リモートリポジトリ、ローカルリポジトリ、編集中ファイルの三者の差分を同時に見ることになる。
未試行。

三者同時なので、場合分けをされてツリー表示されるみたい。
この先は試していないので、参考サイト参照。

参考サイト

kakiro-web:EclipseでGitをクライアント用途として使用(EGit)(その2)

Eclipse,Git | 2015-12-18 (金) 16:13:33 |
次ページへ »