【发布时间】:2012-11-28 10:07:36
【问题描述】:
我正在尝试在 Windows 7 上的 NetBeans 中调试本地 Wordpress 实例(在 xampp 上)。由于某种原因,位于网络服务器根目录中的任何文件之外的断点都会被忽略。
我用谷歌搜索了很长时间,但无济于事。我读过SO1、SO2、SO3、SO4、SO5 和SO6,也无济于事。所有这些 SO 都提到了路径映射。我已经映射了我的所有文件夹,但是由于我的项目文件夹与我的项目文件夹相同,因此这些映射完全相同。此外,xdebug 日志中的路径指向正确的文件(见下文)。
调用xdebug_break(); 仅在网络服务器根目录中的一个文件(在我的情况下为“wp-develop”)中调用它时才有效,所以我怀疑我没有正确映射路径。
我的 php.ini 文件中与 xdebug 相关的部分如下所示:
[XDebug]
zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir = "C:\xampp\tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_enable = On
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "localhost"
xdebug.remote_port=9000
xdebug.trace_output_dir = "C:\xampp\tmp"
xdebug.var_display_max_depth = -1
xdebug.var_display_max_children = -1
xdebug.var_display_max_data = -1
xdebug.remote_log = "C:\xdebugremotelog.txt"
xdebug 日志的输出如下所示:
<- breakpoint_set -i 122 -t line -s enabled -f file:///c:/xampp/htdocs/wp-develop/wp-content/themes/gap/gap.php -n 32
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="122" state="enabled" id="81240001"></response>
c:/xampp/htdocs/wp-develop/wp-content/themes/gap/gap.php 是正确的路径。
我在这里缺少什么?任何帮助将不胜感激。
事实上,我想我可能做错了路径映射。谁能给我一个他们应该看起来如何的例子?
【问题讨论】:
-
结果是真的从服务器加载还是从浏览器缓存加载?
-
嗨,SergeS,我该如何检查?
-
浏览器控制台(IE 9+,chrome),Apache 日志
-
好的。它从服务器加载。不过我很好奇,为什么会有所作为?
-
有时浏览器可以将结果保存到缓存中(尤其是当你用PHP生成一些模板、图片时),如果你没有注意到这一点,你最终会生气,因为在第一次加载之后,服务器端PHP在缓存刷新之前不会调用
标签: php wordpress netbeans xdebug