*

PHPデバッグ ブレイクポイントで止まらない

公開日: : 最終更新日:2014/12/23 PHP, ホームページ関連, ワードプレス

eclipseでPHPでデバッグするには、PHP開発ツールプラグイン(PDT)が必要と以前書いた。

ほかに、PHPをデバッグするには、XDebugが必要。これは、eclipseのプラグインではなく、WEBサーバーのツールとして使われる。

XAMPPには、あらかじめXDebugが用意されている。が、無効になっているので、これを有効にする必要がある。

有効にするには、php.iniを修正する必要がある。これも以前の記事「WordPressをデバッグ」に書いた。

この記事に書かれてあるphp.iniの修正だが、修正する内容に誤りがあった。

実際は以下のとおり。

zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
xdebug.remote_enable = 1

上記のコードは、コメントアウト(先頭に”;”がある)されているので、コメントイン(”;”を削除)する。

環境によっては、上記のコメントアウトの他に以下の箇所もコメントインする。

xdebug.remote_port=9000

ポート9000番を他のプログラムが使用している場合、9002などに修正する。

さて、ここからが本題。

以前の記事「PHP デバッグができない」では、ただ単に「できない」と書いた。
具体的には「デバッグ最中にブレイクポイントで止まらない。」
という現象。

なんとか解決したので、以下に記す。
前提:
■ワードプレスをインストールした場所、およびワードプレスフォルダ
c:\xampp\htdocs\wordress
■ワードプレスのテンプレート(テーマ?)フォルダ
c:\xampp\htdocs\wordress\wp-content\themes\wordpress

解決方法の概要は、eclipseのデバッグ設定でPHPサーバー設定に誤りがあったこと。

PHPサーバー設定は、以前の記事「PHP デバッグができない」に書いてあるので、参照のこと。

このサーバーの設定において、「パス・マッピング」を以下のように修正する。
[サーバー・マッピング画面]
PHPサーバーマッピング画面
サーバー上のパス:ワードプレスをインストールした場所
ローカル・パス:ワードプレスをインストールした場所
→「サーバー上のパス」と「ローカル・パス」は同じ場所
例)
WEBサーバーのドキュメントルートが、c:\xampp\htdocs
ワードプレスをインストールした場所:c:\xampp\htdocs\wordress
[サーバー・マッピングの設定]
サーバー上のパス:c:\xampp\htdocs\wordress
ローカル・パス:c:\xampp\htdocs\wordress

以上なのだが、eclipseではこの「ローカル・パス」が、勝手にプロジェクトのパスになってしまう。

たとえば、プロジェクトのパスを、
c:\xampp\htdocs\wordress\wp-content\themes\woredpress
だとすると、
[サーバー・マッピングの設定]
ローカル・パス:c:\xampp\htdocs\wordress
上記で設定したのが、
ローカル・パス:c:\xampp\htdocs\wordress\wp-content\themes\wordpress
という風に置き換わってしまう。

結局は、以下のようになってしまう。
[サーバー・マッピングの設定]
サーバー上のパス:c:\xampp\htdocs\wordress
ローカル・パス:c:\xampp\htdocs\wordress\wp-content\themes\wordpress

こうなると、デバッグをするときには、c:\xampp\htdocs\wordressがデバッグの起点となり、c:\xampp\htdocs\wordress\wp-content\themes\wordpress以下のファイルをデバッグしようとしてもできない。
例)
デバッグしたいファイル:c:\xampp\htdocs\wordress\wp-content\themes\wordpress\header.php
このファイルがデバッグできない。
なので、解決方法としては、「プロジェクトを作り直す」。
※既存のプロジェクトのロケーションが、以下のようになっていた場合は作り直す
例)c:\xampp\htdocs\wordress\wp-content\themes\wordpres

eclipseプロジェクトの作成手順

eclipseメニュー[ファイル]→[新規作成]→[その他]を選択。
プロジェクト作成1

新規画面が表示されるので、
[PHP]→[PHPプロジェクト]を選択
プロジェクト作成2

新規プロジェクト画面が表示されるので、必要な項目に入力。
プロジェクト作成3
プロジェクト名:任意
内容:
既存のロケーションにプロジェクトを作成にチェック。
参照ボタンを押して場所を指定。
例)c:\xampp\htdocs\wordress
Javascriptサポートにチェック

「次へ」ボタンを押すと画面が切り替わっていくが、何もせずに「次へ」ボタンを押す。
「完了」ボタンを押すと以下の画面が表示さるので、「はい」ボタンを押す。
プロジェクト作成4

以上でプロジェクト作成は終了。

eclipse画面の左側に先ほど作成したプロジェクトが作成されていることを確認する。
プロジェクト作成5
※著者は、プロジェクトの名前を「hobby」にしている。
先からの手順例でいけば、プロジェクトの名前は「wordpress」となる。

試しにテンプレートファイルのheader.phpをデバッグしてみる。
デバッグ1

eclipseデバッグ手順

eclipseメニュー[実行]→[デバッグの構成…]を選択。
デバッグ2

デバッグ構成画面(サーバー)が表示されるので、必要項目に入力。
デバッグ3

ファイル選択画面
デバッグ4

サーバー編集画面
デバッグ5
PHPサーバーマッピング画面
例)
WEBサーバーのドキュメントルートが、c:\xampp\htdocs
ワードプレスをインストールした場所:c:\xampp\htdocs\wordress
[サーバー・マッピングの設定]
サーバー上のパス:c:\xampp\htdocs\wordress
ローカル・パス:c:\xampp\htdocs\wordress(既に設定されていれば、そのまま)

デバッグ構成画面(デバッガー)
サーバー・デバッガーを「XDebug」にする。
デバッグ6

以上の設定が終了したら、デバッグ構成画面の「デバッグ」のボタンを押す。

以下の画面が表示されるので、「はい」を押す。
デバッグ7

 

デバッグが実行される。
デバッグ8

 

結構長い文章になってしまった。

別の記事で部分部分を切り出して、記事にしようと思う。

記事を書くのに時間がかかった。文章を書くのは面倒くさい。

関連記事

no image

PHP 連想配列のキーおよび値を変数に変える

あれば便利だなぁと思っていた機能がPHPにあった。 WrodPressコーデックスでプラグイン

記事を読む

フォルダアイコン

WordPress サイドバーカテゴリ表示 他

ブログの体裁をちょっとばかり整えた。 トップページのカテゴリ一覧表示。 サイドバーのカテ

記事を読む

eclipse ftp

eclipseで、FTPを動かす方法がある。 ほかのFTPソフトウェアをインストールする必要がなく

記事を読む

no image

【ワードプレス】wp_get_attachment_image_src のサイズ指定

久しぶりの投稿です。 以前の投稿後、しばらく画像編集・加工などをやっていて、ネタがあまりなかったも

記事を読む

no image

【WordPress】インストール時に気を付けること(ミニバード)

レンタルサーバーのミニバードにワードプレスをサブディレクトリにインストールする際に気を付けること。

記事を読む

no image

HTML GET POST

通常、ホームページのページ間でデータの受け渡しを行うには、formタグを使う。 例:送信 名前

記事を読む

no image

【xampp】apache ドキュメントルート変更

以下は、Windows版「xampp」の場合です。   「httpd.conf」ファイ

記事を読む

サイトマップエラー

Google XML Sitemap Generatorプラグイン バグ?

花屋の求人サイトで使用しているGoogle XML Sitemap Generatorプラグインを、

記事を読む

no image

【GIMP】選択範囲の統合

久しぶりに投稿。 タイトルの件。 GIMPでは、選択範囲を保存できることは、前の記事に書きました

記事を読む

no image

jQuery clone textarea

jQueryで要素をコピーするには、clone()を使います。 ちょっとここで注意しておきたいのが

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

no image
【WordPress】現在メンテナンス中のため、しばらくの間ご利用いただけません。

ワードプレスにログインしようとすると、以下のようなメッセージが表示され

no image
【xampp】apache ドキュメントルート変更

以下は、Windows版「xampp」の場合です。  

sistemwindow
【inKscape】epsファイルを開く方法

暫く前に、inKscapeで「eps」ファイルが開けたのですが、突然開

no image
【ワードプレス】wp_get_attachment_image_src のサイズ指定

久しぶりの投稿です。 以前の投稿後、しばらく画像編集・加工などをやっ

no image
【GIMP】選択範囲の統合

久しぶりに投稿。 タイトルの件。 GIMPでは、選択範囲を保存でき

→もっと見る

PAGE TOP ↑