デバッグ - 外部モード編
‐ 目次
1.基本的な外部デバッグの手順
※ デバッグ方法の詳細については、「デバッグ情報の表示」、「デバッグ時のブラウザの設定」、「PHPのランタイム選択」も併せてご参照ください。
※ 外部デバッグを行う前に
サーバー上には、必ず「Xdebug」または「DBG」がインストールされている必要があります。各エクステンションはこちらのページよりダウンロードいただけます。
Xdebugインストールの手順
※ソースからインストールする方は、1~4を実行してください。コンパイル済みのパッケージをインストールする方は4のみを実行してください。
- 1. Xdebugをインストール
$ cd /usr/local/src
$ wget http://www.asial.co.jp/vsphp/xdebug/xdebug-2.0.4.tgz
- 2. 解凍
$ tar zxvf xdebug-2.0.4.tgz
$ cd xdebug-2.0.4
- 3. コンパイル
$ phpize
$ ./configure
$ make (su - 後)
# make install
- 4. xdebugモジュールをphp.iniに追加
1. php.ini に extension としてxdebug.so(またはxdebug.dll)を追加
zend_extension=xdebug.so
※xdebugモジュールは、絶対パスで指定してください。
※Windows環境でThreaded Safetyが有効の場合は、「zend_extension」を「zend_extension_ts」に変更して追加してください。
2. 以下のように設定する
xdebug.profiler_enable=On
xdebug.remote_enable=On
xdebug.remote_host=<クライアントマシンのIPアドレス>
xdebug.remote_log=/tmp/xdebug.log
xdebug.remote_port=9000
3. Apacheを再起動
※ Xdebugを使用して外部デバッグを行う際には、クライアント側のプロパティで[高度な設定]のDBGクライアントのポート番号ががデフォルトで[7870]となっているので、[9000]に変更して実行ください。
DBGインストールの手順
※ソースからインストールする方は、1~4を実行してください。コンパイル済みのパッケージをインストールする方は4のみを実行してください。
- 1. DBGをインストール
$ cd /usr/local/src
$ wget http://www.asial.co.jp/vsphp/dbg/dbg-2.15.5.tar.gz
- 2. 解凍
$ tar zxvf dbg-2.15.5.tar.gz
$ cd dbg-2.15.5
- 3. コンパイル
$ phpize
$ ./configure
$ make (su - 後)
# make install
- 4. dbgモジュールをphp.iniに追加
1. php.ini に extension としてdbg.so(またはdbg.dll)を追加
extension=dbg.so
2. debugger.enabled,debugger.profiler_enabledを有効にする
debugger.enabled=On
debugger.profiler_enabled=On
3. Apacheを再起動
1.基本的な外部デバッグの手順
- 1.1. 新規プロジェクトを作成する
「デバッグ - 組み込みモード編」の「1.1. 新規プロジェクトを作成する」をご参照ください。
- 1.2. 文字コードを設定する
- 1. [ソリューションエクスプローラ]ウィンドウ内にある[PHP Project]の上で右クリックして、[プロパティ]を選択します。

- 2. [プロパティ]ウィンドウが表示されます。
- 3. [構成プロパティ]->[全般]を選択し、[文字コード]を選択します。

- 4. サーバー側の文字コードに合わせてプロジェクト内で使用する文字コードを選択します。このチュートリアルでは「51932 – EUC Japanese」(EUC-JP)を選択します。

- 5. 全てのファイルの文字コードを強制的に統一したい場合、[文字コードの強制]を[True]に選択してください。

- 1. [ソリューションエクスプローラ]ウィンドウ内にある[PHP Project]の上で右クリックして、[プロパティ]を選択します。
- 1.3. 新規ファイルを作成する
新規ファイルの作成方法の詳細は、「デバッグ - 組み込みモード編」の「1.2. 新規ファイルを作成する」をご参照ください。
- 1.4 プロジェクト構成を設定する
- 1. [ビルド]メニューの[構成マネージャ…]を選択します。

- 2. 外部デバッグの場合、[アクティブ ソリューション構成]で[Remote]を選択します。

- 3. 使用するリモートサーバーに合わせて[アクティブ ソリューション プラットフォーム]でPHPのバージョンを選択します。このチュートリアルではPHP5を選択します。

- 4. すべての構成を設定した後、[閉じる]ボタンをクリックします。

- 1. [ビルド]メニューの[構成マネージャ…]を選択します。
- 1.5 デバッグ モードを設定する
- 1. [ソリューションエクスプローラ]ウィンドウ内にある[PHP Project]の上で右クリックして、[プロパティ]を選択します。

- 2. [プロパティ]ウィンドウが表示されます。
- 3. [構成プロパティ]->[デバッグ]->[全般]を選択し、[デバッグ モード]を選択します。

- 4. 外部デバッグの場合、[外部 モード]を選択します。

- 1. [ソリューションエクスプローラ]ウィンドウ内にある[PHP Project]の上で右クリックして、[プロパティ]を選択します。
- 1.6 デプロイ(配置)を設定する
- 1. [ソリューションエクスプローラ]ウィンドウ内にある[PHP Project]の上で右クリックして、[プロパティ]を選択します。

- 2. [プロパティ]ウィンドウが表示されます。
- 3. [構成プロパティ]->[配置]を選択し、[接続設定]を選択します。

- 3. [配置方法]でプロジェクトをリモート サーバーへアップロードする際の接続方法を選択します。このチュートリアルでは[FTP]を選択します。

- 4. [FTP サーバ]、[FTP名]、[FTP パスワード]、[FTP ディレクト]にそれぞれ接続するFTP サーバーの情報を入力します。

- 1. [ソリューションエクスプローラ]ウィンドウ内にある[PHP Project]の上で右クリックして、[プロパティ]を選択します。
- 1.7. 開始ページを設定する
- 1. [ソリューションエクスプローラ]ウィンドウ内にある[PHP Project]の上で右クリックして、[プロパティ]を選択します。

- 2. [プロパティ]ウィンドウが表示されます。
- 3. [構成プロパティ]->[デバッグ]->[全般]を選択し、[開始 URL]を選択します。

- 4. デバッグ時の開始URLを入力します。このチュートリアルでは[https://192.168.1.6/debug.php]と入力します。

- 1. [ソリューションエクスプローラ]ウィンドウ内にある[PHP Project]の上で右クリックして、[プロパティ]を選択します。
- 1.8. デバックを開始する
- 1. [標準]バーの[デバッグ開始] をクリックします。

- 2. ブラウザが開き、結果が表示されます。同時に設定したディレクトリにプロジェクトが配置されます。

- 1. [標準]バーの[デバッグ開始] をクリックします。
- 1.9. デバックを停止する
デバッグを停止する方法の詳細については、「デバッグ - 組み込みモード編」の「1.5. デバックを停止する」をご参照ください。
- ※ DBGエラーが出る場合
以下のDBGエラーが出る場合、クライアント側のプロパティで[高度な設定]のDBGクライアントホストがデフォルトで[clienthost]となっているので、こちらの設定をクライアントマシンのIPアドレスに変更して再度ご確認ください。

※Windows Vistaをご使用の方で、上記の設定でDBG接続エラーが出る場合は、ファイアウォールの設定で接続が遮断されている可能性がありますので、以下の設定を行って再度ご確認ください。
1. 「Windows ファイアウォール」ウィンドウで「Windowsファイアウォールによるプログラムの許可を開く」をクリックしてください。

2. 「Windows ファイアウォールの設定」ウィンドウが開くので、「プログラムの追加」ボタンをクリックしてください。
3. 「プログラムの追加」ウィンドウで「参照」ボタンをクリックしてください。

4. 「参照」ウィンドウで「vsphp_dbg.exe」を選択して追加してください。

5. 「Windows ファイアウォール」ウィンドウで「vsphp_dbg.exe」がリストに登録されていることを確認して、OKボタンをクリックしてください。

6. セキュリティを強化するには、「Windows ファイアウォール」ウィンドウで「vsphp_dbg.exe」を選択した状態で、「プロパティ」ボタンをクリックし、スコープを変更してください。

※ デバッグ方法の詳細については、「デバッグ情報の表示」、「デバッグ時のブラウザの設定」、「PHPのランタイム選択」も併せてご参照ください。



