PHPのデバッグが上手く動作しない場合のチェックリストです。
トピック :
項目 |
説明 |
|
必要なシステム |
|
|
チェック項目 |
Enterprise Architect
|
localpath:%LOCAL% remotepath:%REMOTE%
状況に応じて、これらの値が適切になるように設定しなければなりません。これらの値は、URLとソースコードのフルパスとを変換し、対象のクラスを確定するために利用します。
設定の一例は以下の通りです。
localpath:c:\code samples\vea\php\sample remotepath:webserver/sample
この際の設定は以下の仮定です。
|
PHP |
PHPのスクリプトをデバッグするためには、XDebug拡張が読み込まれるように設定しなければなりません。
XDebugのバージョン3.0以降の場合の設定例は以下の通りです。:
XDebugのバージョン3.0より前のバージョン場合の設定例は以下の通りです。:
ポート番号は、動作解析の設定で定義した内容と一致しなければなりません。
XDebugが接続する先のIPアドレスは、Enterprise Architectの PHP agentが通信を待っているマシンである必要があります。 |
|
Apache |
Apacheでデバッグする場合には、以下の内容がApacheの設定ファイルであるhttpd.confに含まれなければなりません。
LoadModule php5_module "php_home/php5apache2_2.dll" AddHandler application/x-httpd-php .php PHPIniDir "php_home"
ここで、php_homeはPHPをインストールした位置です。php.iniとapacheのdllが存在しなければなりません。 |
|
トラブルシューティング |
PHPとApacheがデバッグ中にタイムアウトしないように、必要に応じて設定を変更する必要があるかもしれません。 以下の例は、Enterprise Architect内でデバッグする場合に利用できる設定です。 |
|
PHP |
ファイル: php.ini
; Enterprise Architect prevents PHP timeouts when debugging PHP extensions
max_execution_time = 0
; Enterprise Architect prevents web server timeouts when debugging PHP extensions
max_input_time = -1
; Enterprise Architect logs errors
display_errors = On
; Enterprise Architect displays startup errors
display_startup_errors = On |
|
Apache |
ファイル: httpd.conf
; Enterprise Architect prevents timeouts while debugging php extensions
Timeout 60000 |