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 |

remote: Invalid username or password.

Posted by muchag | Git | 2017-08-15 (火) 22:47:27

【環境】
SourceTree:2.1.10
経緯

2.1.10 へのアップデートダイアログが出たので
嫌な予感がしながらもアップデートしてみた。

プッシュはおろかプルもできなくなった。

前のアップデートでも壊れたので嫌な予感がしたのよね。。。

エラー文言は下記の通り。

エラー
git -c diff.mnemonicprefix=false -c core.quotepath=false push -v –tags origin master:master
remote: Invalid username or password.
fatal: Authentication failed for ‘https://github.com/[user_name]/[repository_name].git/’
Pushing to https://github.com/[user_name]/[repository_name].git/
解決

試行錯誤は後で書くとして
まずは解決方法。

stackoverflow:Sourcetree remote: Invalid username or password(2017-08-11)

2.1.8.0 のバグだそうで。。。

[ツール]-[オプション]
[Git] タブ
[Git バージョン]-[内蔵 Git を更新]

「本当にいいの?」って聞かれるので「いいの!」と答える。
直りました。。。

せっかく4日前の書き込みなのに、
辿り着くまで時間がかかった。 😥

同じことに悩まされている方がいらっしゃるかしらね~。

試行錯誤

なんか色々とやって、メモしておきたいことがあるんだけど
時間がないので、スキップ。

Git | 2017-08-15 (火) 22:47:27 |

スマートフォンサイト

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 |

インストール 1.8.1 キャッシュ 編

Posted by muchag | Library & PlugIn & AddIn,XAMPP | 2016-01-24 (日) 16:49:20

インストール 1.8.1

キャッシュ用ライブラリの導入。

【環境】
XAMPP for Windows: 1.8.1
APC
DL

APC:Win Web Dev より DL。
いっぱいあってよくわからないので
参考サイトの説明書に従った。

表記にtsとあるのはthread safe、ntsとあるのはnon thread safeという意味。ということでApacheはtsバージョン、IISはntsバージョンを使います。

OXY NOTES:XAMPP1.8.2にAPCとmemcachedを導入する方法

2016-01-24 現在
php_apc_3114_beta_php54_win7-2008.zip

配置
解凍

DL してきた ZIP ファイルを解凍すると

php_apc_3114_beta_php54_win7-2008.dll

というファイルが出てくる。

リネーム
php_apc.dll

と、リネーム。

配置
D:\xampp\php\ext

内へ配置。

php.ini

php.ini へ下記のように追記。

  1. extension=php_apc.dll ; added 2016-01-24
  1. [APC]
  2. ; added 2016-01-24
  3. apc.enabled = 1
  4. apc.shm_size = 32M
  5. apc.ttl = 0
  6. apc.user_ttl = 0
  7. apc.gc_ttl = 3600
  8. apc.stat = 1
Memcached
参考サイト

OXY NOTES:XAMPP1.8.2にAPCとmemcachedを導入する方法

Library & PlugIn & AddIn,XAMPP | 2016-01-24 (日) 16:49:20 |

インストール 1.8.1 VirtualHost 編

Posted by muchag | XAMPP | 2016-01-20 (水) 19:09:30

インストール 1.8.1
の番外編記事。

前回の記事

【環境】
XAMPP for Windows: 1.8.1
別の設定方法

前回とは異なる設定方法。

  1. <VirtualHost *:80>
  2.     DocumentRoot "D:/xampp/htdocs/myapp"
  3.     ServerName localhost.myapp.com
  4.     ErrorLog "logs/localhost.myapp.comt-error.log"
  5.     CustomLog "logs/localhost.myapp.com-access.log" combined
  6. </VirtualHost>

時間が経ったから、新しい方法が出てきたのか
元々あったのか、わからないけど、
私としては、直感的でわかりやすかった。

Facebook などでローカル環境での動作確認をできるようになるみたい。
そちらはまだ試していない。

hosts

上記設定だけでは、localhost.myapp.com にアクセスしたときに
インターネットに接続しようとしてしまうとのことで
接続設定も必要。

C:\Windows\System32\drivers\etc\hosts
  1. 127.0.0.1 localhost.myapp.com

※hosts ファイルを編集するには、メモ帳を管理者として実行して
ファイルメニューから手動で開くこと。

参考サイト

OXY NOTES:XAMMP導入時にApacheのVirtualHostを設定する方法

XAMPP | 2016-01-20 (水) 19:09:30 |

Google chart tools

Posted by muchag | Google | 2016-01-17 (日) 10:54:39


Google:Image Charts
旧版の記事は こちら

概要

Javascript を利用して、Web ページにチャートを表示する機能。

参考サイト

プログラマーズ雑記帳:Google Chart Tools の使い方

Google | 2016-01-17 (日) 10:54:39 |

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

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 |
« 前ページへ次ページへ »