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 デバッグができない」に書いてあるので、参照のこと。
このサーバーの設定において、「パス・マッピング」を以下のように修正する。
[サーバー・マッピング画面]
サーバー上のパス:ワードプレスをインストールした場所
ローカル・パス:ワードプレスをインストールした場所
→「サーバー上のパス」と「ローカル・パス」は同じ場所
例)
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メニュー[ファイル]→[新規作成]→[その他]を選択。
新規画面が表示されるので、
[PHP]→[PHPプロジェクト]を選択
新規プロジェクト画面が表示されるので、必要な項目に入力。
プロジェクト名:任意
内容:
既存のロケーションにプロジェクトを作成にチェック。
参照ボタンを押して場所を指定。
例)c:\xampp\htdocs\wordress
Javascriptサポートにチェック
「次へ」ボタンを押すと画面が切り替わっていくが、何もせずに「次へ」ボタンを押す。
「完了」ボタンを押すと以下の画面が表示さるので、「はい」ボタンを押す。
以上でプロジェクト作成は終了。
eclipse画面の左側に先ほど作成したプロジェクトが作成されていることを確認する。
※著者は、プロジェクトの名前を「hobby」にしている。
先からの手順例でいけば、プロジェクトの名前は「wordpress」となる。
試しにテンプレートファイルのheader.phpをデバッグしてみる。
eclipseデバッグ手順
eclipseメニュー[実行]→[デバッグの構成…]を選択。
デバッグ構成画面(サーバー)が表示されるので、必要項目に入力。
サーバー編集画面
例)
WEBサーバーのドキュメントルートが、c:\xampp\htdocs
ワードプレスをインストールした場所:c:\xampp\htdocs\wordress
[サーバー・マッピングの設定]
サーバー上のパス:c:\xampp\htdocs\wordress
ローカル・パス:c:\xampp\htdocs\wordress(既に設定されていれば、そのまま)
デバッグ構成画面(デバッガー)
サーバー・デバッガーを「XDebug」にする。
以上の設定が終了したら、デバッグ構成画面の「デバッグ」のボタンを押す。
結構長い文章になってしまった。
別の記事で部分部分を切り出して、記事にしようと思う。
記事を書くのに時間がかかった。文章を書くのは面倒くさい。
関連記事
-
-
PHP 連想配列のキーおよび値を変数に変える
あれば便利だなぁと思っていた機能がPHPにあった。 WrodPressコーデックスでプラグイン
-
-
WordPress サイドバーカテゴリ表示 他
ブログの体裁をちょっとばかり整えた。 トップページのカテゴリ一覧表示。 サイドバーのカテ
-
-
eclipse ftp
eclipseで、FTPを動かす方法がある。 ほかのFTPソフトウェアをインストールする必要がなく
-
-
【ワードプレス】wp_get_attachment_image_src のサイズ指定
久しぶりの投稿です。 以前の投稿後、しばらく画像編集・加工などをやっていて、ネタがあまりなかったも
-
-
【WordPress】インストール時に気を付けること(ミニバード)
レンタルサーバーのミニバードにワードプレスをサブディレクトリにインストールする際に気を付けること。
-
-
HTML GET POST
通常、ホームページのページ間でデータの受け渡しを行うには、formタグを使う。 例:送信 名前
-
-
【xampp】apache ドキュメントルート変更
以下は、Windows版「xampp」の場合です。 「httpd.conf」ファイ
-
-
Google XML Sitemap Generatorプラグイン バグ?
花屋の求人サイトで使用しているGoogle XML Sitemap Generatorプラグインを、
-
-
【GIMP】選択範囲の統合
久しぶりに投稿。 タイトルの件。 GIMPでは、選択範囲を保存できることは、前の記事に書きました
-
-
jQuery clone textarea
jQueryで要素をコピーするには、clone()を使います。 ちょっとここで注意しておきたいのが
- PREV
- PHP デバッグができない
- NEXT
- eclipse PHPプロジェクト作成手順