我知道关于这个问题有无数的问题,但无论我尝试过什么,我都没有运气。我遇到的问题是关于使用NetBeans和XDebug时的断点(在Windows 8.1上,如果它影响任何东西)。
问题是没有断点正常工作。默认情况下,使用NetBeans进行调试时,它会在第一行停止,并且会成功执行此操作。因此,NetBeans以某种方式连接到XDebug。但是,任何其他文件中的任何其他断点都不起作用。
我已经在php.ini文件中尝试了各种不同的设置但到目前为止没有运气。我也试过打开XDebug日志文件,以便我可以分析一下发生了什么,但这也没有用。最后,我尝试使用xdebug_break()
设置断点,这也是行不通的。
php.ini中的XDebug设置
;[XDebug]
; Only Zend OR (!) XDebug
zend_extension="C:\xampp\php\ext\php_xdebug.dll"
xdebug.remote_enable=true
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.profiler_enable=1
xdebug.profiler_output_dir="C:\xampp\tmp"
NetBeans上的项目运行配置
我已经查看了以下内容:
另请注意,这是在3天前工作,但今天没有断点正常工作。
其他信息
我已在cmd php -v
中运行以下命令,并显示以下警告:
Warning: Module 'xdebug' already loaded in Unknown on line 0
这是否意味着xdebug正在尝试加载两次?如果是这样,我不确定如何解决这个问题
答案 0 :(得分:3)
找出问题所在。我知道这个答案将非常具体,但它可能会对将来有所帮助。
因此,在检查代码时,我注意到有人添加了在加载登录页面时清除所有cookie的代码。删除cookie后,XDebug无法正常工作。原因是,为了让XDebug工作,它会设置一个带有会话ID的cookie,例如'netbeans-xdebug',它随网站上的每个请求一起发送。
这是一个非常简单的问题,但需要将近2天的时间来了解发生了什么。我再次知道这是一个非常具体的案例,但也许它可以帮助那些人。
快乐的编码!