所以eclipse和xdebug走进了一个酒吧,然后我的apache服务器死了

2020/11/30 17:41 · php ·  · 0评论

我正在使用Windows XP x86,wamp,apache2,php 5.3 x86,eclipse php和xdebug,它们在localhost上同时作为virtualhost和https virtualhost运行

eclipse版本信息

PHP开发人员专用的Eclipse版本:Helios发行版本ID:20100617-1415

我以某种方式成功地完成了eclipse和xdebug的设置,一切都很好。

然后,我必须在项目中创建一个svn分支,并使用2个新的虚拟主机重新配置apache,并更新Windows主机文件。

现在,当我在eclipse中启动调试模式时,一切都消亡了。

具体来说,如果我没有设置断点,则应用程序运行良好,除了我首先要调试的问题外。

如果我设置了一个断点,则应用程序将在该断点处停止,并且日食似乎将球保持住。但是现在,当我按“继续”,“走过去”,“走进去”或“打喷嚏”时,eclipse告诉我恢复了执行,但是应用程序继续挂起,我必须重新启动apache。

我怀疑eclipse和xdebug之间的通信中断了,因为在我看来eclipse正在发送我的continue或step over命令,但xdebug没有收到它。

但是即使是那样,我也不知道该怎么办。我应该在哪里看?

更新:

我已经能够使用notepad ++,其xdebug插件成功调试,并且像穴居人一样,在URL中键入&XDEBUG_SESSION_START = session_name。
但是,尽管我热爱npp,但其调试插件还是有很多问题。

因此,我注意到在stackoverflow上有一则名为“ phpstorm”的广告,该广告被称为是轻量级但功能齐全的php ide,并具有本机xdebug支持。该演示需要重新启动才能使其正常工作,感觉就像在摇晃的草稿台上工作一样,但是它能够很好地调试我的小型测试应用程序和真实应用程序,这比我在eclipse上所说的还多此刻,即使这可能是我的错。

我可能应该早些发布它:/这是我的phpinfo()xdebug部分

xdebug
xdebug support  enabled
Version     2.1.0

Supported protocols Revision
DBGp - Common DeBuGger Protocol     $Revision: 1.145 $

Directive   Local Value Master Value
xdebug.auto_trace   Off Off
xdebug.collect_assignments  Off Off
xdebug.collect_includes On  On
xdebug.collect_params   0   0
xdebug.collect_return   Off Off
xdebug.collect_vars Off Off
xdebug.default_enable   On  On
xdebug.dump.COOKIE  no value    no value
xdebug.dump.ENV no value    no value
xdebug.dump.FILES   no value    no value
xdebug.dump.GET no value    no value
xdebug.dump.POST    no value    no value
xdebug.dump.REQUEST no value    no value
xdebug.dump.SERVER  no value    no value
xdebug.dump.SESSION no value    no value
xdebug.dump_globals On  On
xdebug.dump_once    On  On
xdebug.dump_undefined   Off Off
xdebug.extended_info    On  On
xdebug.file_link_format no value    no value
xdebug.idekey   no value    no value
xdebug.manual_url   http://www.php.net  http://www.php.net
xdebug.max_nesting_level    100 100
xdebug.overload_var_dump    On  On
xdebug.profiler_aggregate   Off Off
xdebug.profiler_append  Off Off
xdebug.profiler_enable  Off Off
xdebug.profiler_enable_trigger  Off Off
xdebug.profiler_output_dir  C:\xampp\tmp    C:\xampp\tmp
xdebug.profiler_output_name xdebug_profile.%p   xdebug_profile.%p
xdebug.remote_autostart Off Off
xdebug.remote_connect_back  Off Off
xdebug.remote_cookie_expire_time    3600    3600
xdebug.remote_enable    On  On
xdebug.remote_handler   dbgp    dbgp
xdebug.remote_host  localhost   localhost
xdebug.remote_log   c:\xampp\apache\logs\xdebug.log c:\xampp\apache\logs\xdebug.log
xdebug.remote_mode  req req
xdebug.remote_port  9000    9000
xdebug.scream   Off Off
xdebug.show_exception_trace Off Off
xdebug.show_local_vars  Off Off
xdebug.show_mem_delta   Off Off
xdebug.trace_format 0   0
xdebug.trace_options    0   0
xdebug.trace_output_dir C:\xampp\tmp    C:\xampp\tmp
xdebug.trace_output_name    trace.%c    trace.%c
xdebug.var_displ

 ay_max_children    128 128
 xdebug.var_display_max_data    512 512
 xdebug.var_display_max_depth   3   3

这是我重现问题时的xdebug日志文件

Log opened at 2011-01-03 08:56:22
-> <init xmlns="urn:debugger_protocol_v1"
xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
fileuri="file:///C:/xampp/htdocs/lab/zf-tutorial/public/index.php"
language="PHP" protocol_version="1.0"
appid="4404"
idekey="ECLIPSE_DBGP"><engine
version="2.1.0"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick
Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright
(c) 2002-2010 by Derick
Rethans]]></copyright></init>

<- feature_set -i 33 -n show_hidden -v
1
-> <response xmlns="urn:debugger_protocol_v1"
xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
command="feature_set"
transaction_id="33"
feature="show_hidden"
success="1"></response>

<- feature_set -i 34 -n max_depth -v 3
-> <response xmlns="urn:debugger_protocol_v1"
xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
command="feature_set"
transaction_id="34"
feature="max_depth"
success="1"></response>

<- feature_set -i 35 -n max_children
-v 31
-> <response xmlns="urn:debugger_protocol_v1"
xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
command="feature_set"
transaction_id="35"
feature="max_children"
success="1"></response>

<- feature_get -i 36 -n encoding
-> <response xmlns="urn:debugger_protocol_v1"
xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
command="feature_get"
transaction_id="36"
feature_name="encoding"
supported="1"><![CDATA[iso-8859-1]]></response>

<- feature_get -i 37 -n supports_async
-> <response xmlns="urn:debugger_protocol_v1"
xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
command="feature_get"
transaction_id="37"
feature_name="supports_async"
supported="1"><![CDATA[0]]></response>

<- stdout -i 38 -c 1
-> <response xmlns="urn:debugger_protocol_v1"
xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
command="stdout" transaction_id="38"
success="1"></response>

<- stderr -i 39 -c 1
-> <response xmlns="urn:debugger_protocol_v1"
xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
command="stderr" transaction_id="39"
success="0"></response>

<- breakpoint_set -i 40 -t line -f
file:///C:%5Cxampp%5Chtdocs%5Clab%5Czf-tutorial%5Cpublic%5Cindex.php
-n 21
-> <response xmlns="urn:debugger_protocol_v1"
xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
command="breakpoint_set"
transaction_id="40"
id="44040001"></response>

<- run -i 41
-> <response xmlns="urn:debugger_protocol_v1"
xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
command="run" transaction_id="41"
status="break"
reason="ok"><xdebug:message
filename="file:///C:/xampp/htdocs/lab/zf-tutorial/public/index.php"
lineno="21"></xdebug:message></response>

<- stack_get -i 42
-> <response xmlns="urn:debugger_protocol_v1"
xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
command="stack_get"
transaction_id="42"><stack
where="{main}" level="0" type="file"
filename="file:///C:/xampp/htdocs/lab/zf-tutorial/public/index.php"
lineno="21"></stack></response>

<- stack_get -i 43
-> <response xmlns="urn:debugger_protocol_v1"
xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
command="stack_get"
transaction_id="43"><stack
where="{main}" level="0" type="file"
filename="file:///C:/xampp/htdocs/lab/zf-tutorial/public/index.php"
lineno="21"></stack></response>

<- eval -i 44 --
JHRoaXMtPmZpZWxkc1snYm9vbF9jb21wbGV0ZSdd
-> <response xmlns="urn:debugger_protocol_v1"
xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
command="eval"
transaction_id="44"><property
address="92404284"
type="bool"><![CDATA[-1]]></property></response>

<- eval -i 45 --
JHRoaXMtPnN0YWdlLT5nZXQoJ2Jvb2xfY29tcGxldGUnKQ==
-> <response xmlns="urn:debugger_protocol_v1"
xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
command="eval"
transaction_id="45"><property
address="92404284"
type="bool"><![CDATA[-1]]></property></response>

<- eval -i 46 --
JHRoaXMtPmZpZWxkc1snYm9vbF9jb21wbGV0ZSdd
-> <response xmlns="urn:debugger_protocol_v1"
xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
command="eval"
transaction_id="46"><property
address="92404284"
type="bool"><![CDATA[-1]]></property></response>

<- eval -i 47 --
JHRoaXMtPnN0YWdlLT5nZXQoJ2Jvb2xfY29tcGxldGUnKQ==
-> <response xmlns="urn:debugger_protocol_v1"
xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
command="eval"
transaction_id="47"><property
address="92404284"
type="bool"><![CDATA[-1]]></property></response>

=== breakpoint reached, execution pauses.  In eclipse I click "step
over"

<- step_over -i 48

=== end of log

这篇文章听起来很有希望。

从外观看,XDebug和Eclipse(在其php dev env中)都可以使用DBGp协议。根据该文章,您可以使Apache的.htaccess文件混乱,或者运行DBGp代理(无论是哪种方式),使一切正常。本文中的更多详细信息。

我怀疑XDebug和Eclipse都连接到同一个PHP调试会话,互相踩脚,导致Hilarity出现。

那或“未定义的行为”。无论哪种方式。

呜呜呜呜呜

https://bugs.eclipse.org/bugs/show_bug.cgi?id=312951#c8

创建一个新的工作区使我可以成功调试。

现在,关于造成这种情况的最好猜测是,在同一个工作区中有两个项目在相同的IP上具有不同的虚拟主机。

所以我不是不会再这样做了。

这听起来像是一个愚蠢的问题,如果是这样,我对此表示歉意,但是您是否在Eclipse调试配置内部创建了一个新的PHP服务器,该服务器映射到您的新虚拟主机?

每次创建新的虚拟主机时,通常会创建一个全新的调试配置,在该配置中创建一个映射到虚拟主机的新PHP服务器,以便在启动新会话时可以从“调试配置”下拉列表中轻松选择它。

对于任何想知道的人,我都可以通过以下方法执行此操作:转到运行->“调试配置...”,从左侧菜单中选择“ PHP网页”,单击new +(如果已有,则单击复制),然后在在“服务器”选项卡上,显示“ PHP Server”,单击“新建”,然后键入文档根目录的虚拟主机的URL。

Right now my best guess as to what caused this is having two projects in the same workspace with different vhosts at the same ip.

Well I am debugging as well two projects, in the the same Eclipse-workspace with different VHosts at the same IP and use apache.

And I am not experiencing your problems.

Though my apache and stuff is located in a vmware-emulation of debian and my Eclipse resides in WinXP.

Best

Raffael

本文地址:http://php.askforanswer.com/suoyieclipsehexdebugzoujinleyigejiubaranhouwodeapachefuwuqisile.html
文章标签: ,   ,   ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!