XDebugに奇妙な問題があります。
最初にプロジェクトのセットアップ(完全に非推奨ですが、これは顧客プロジェクトであり、変更することはできません):
- PHP 4.4.9
- XDebug 2.0.2(PHP 4.4の最後の安定バージョン)
- Netbeans 7.0
- 簡単なデバッグ
XDebugとNetbeansを構成しましたが、すべて正常に動作します。
zend_extension="/home/user/xdebug-2.0.2/modules/xdebug.so"
xdebug.remote_enable = 1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=10.0.1.26
xdebug.remote_port=9000
xdebug.remote_log="/etc/apache2/logs/xdebug_error.log"
私に頭痛の種を与えるのは、NetbeansでContinue(F8)を押しても、何も起こらないように見えることです。XDebugは実行コマンドを取得しますが、ページがハングします(XDebug Error.logを参照)。XDebugはまだPHPをブロックしているようです。NetbeansでXDebugセッションを強制終了すると、ページが処理されます。ただし、セッションを強制終了した後、httpdを再起動するまで新しいセッションを開始できません。
Log opened at 2012-09-24 12:54:39
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="anonymised" language="PHP" protocol_version="1.0" appid="5813" idekey="netbeans-xdebug"><engine version="2.0.2"><<![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2007 by Derick Rethans]]></copyright></init>
<- feature_set -i 661 -n show_hidden -v 1
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="661" feature="show_hidden" success="1"></response>
<- feature_set -i 662 -n max_depth -v 3
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="662" feature="max_depth" success="1"></response>
<- feature_set -i 663 -n max_children -v 31
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="663" feature="max_children" success="1"></response>
<- feature_get -i 664 -n max_data
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_get" transaction_id="664" feature_name="max_data" supported="1"><![CDATA[1024]]></response>
<- breakpoint_set -i 665 -t line -s enabled -f anonymised -n 21
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="665" state="enabled" id="58130001"></response>
<- run -i 666
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="666" status="break" reason="ok"><xdebug:message filename="anonymised" lineno="21"></xdebug:message></response>
<- stack_get -i 667
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="667"><stack where="{main}" level="0" type="file" filename="anonymised" lineno="21"></stack></response>
<- context_names -i 668
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="context_names" transaction_id="668"><context name="Locals" id="0"></context><context name="Superglobals" id="1"></context></response>
<- context_get -i 669 -c 0
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="context_get" transaction_id="669" context="0"><property name="a" fullname="$a" type="uninitialized"></property><property name="b" fullname="$b" type="uninitialized"></property><property name="value" fullname="$value" address="47887874207944" type="int"><![CDATA[0]]></property></response>
<- run -i 671
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="671" status="stopped" reason="ok"></response>
[続行]を数回押した後、Netbeansはソケット例外(パイプラインの破損)をスローします。
誰かが私を助けてくれることを願っています:(