我在Mac上运行Netbeans。我使用XAMPP安装了本地服务器,并安装了xDebug。当我在Netbeans中调试/断点时,我可以让它第一次在索引上运行。然而,在第一次运行之后,除非我重新启动Netbeans,否则它不会再次连接到xDebug。
如何确保Netbeans始终连接到xDebug?此外,如何让Netbeans调试索引文件之外的内容?
在php.ini中添加以下
; XDEBUG Extension zend_extension = "**ABSOLUTE_PATH_TO_XDEBUG_EXTENSION**" [xdebug] xdebug.remote_enable = off xdebug.profiler_enable = off xdebug.profiler_enable_trigger = off xdebug.profiler_output_name = cachegrind.out.%t.%p xdebug.profiler_output_dir = "**PATH_TO_TMP_DIRECTORY**"
在NetBeans IDE中,转到Tools>首选项>PHP>调试
调试器端口:9000
会话ID:netbeans xdebug
CHECK:在第一行处停止
打开您的项目。转到项目属性>运行配置。设置
运行方式:本地网站(在本地Web服务器上运行)
项目URL:http://localhost/PROJECT_PATH/
索引文件:Index.php
保存项目文件重新启动Apache重新启动NetBeans,打开项目,然后
调试>调试项目
您应该看到http://localhost/PROJECT_PATH/index.php?XDEBUG_SESSION_START=netbeans-浏览器中的xdebug和NetBeans应该停止在index.php 的第一行
xdebug的不兼容版本可能存在问题。例如,将xdebug从2.2.4降级到2.2.3就解决了这个问题。http://bugs.xdebug.org/view.php?id=1038
尝试删除在xdebug.profiler_output_dir
上设置的tmp目录上的所有文件
我遇到过类似的情况,xdebug只工作"一次"——在第一次加载页面时。清空tmp文件夹后,一切正常。