我有xdebug正在运行,但是我把断点永远停在哪里并不重要。
的php.ini
[xdebug]
zend_extension_ts = c:\wamp\bin\php\php5.2.8\ext\php_xdebug-2.1.2-5.2-vc6.dll
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=Chris-Pc
xdebug.remote_port=9000
答案 0 :(得分:7)
此处未提及的另一个提示:确保正确设置了您的Web根目录。
转到文件 - >项目属性 - >来源 - > Web root - >浏览并选择您的实际Web根目录。
我的配置是Kubuntu 15.04,PhP 5.5,我正在开发CakePhP应用程序,我必须将我的webroot目录设置为/ app / webroot [或/ app / View / Theme / webroot,以防你再次使用使用主题]。如果没有这个设置,xdebug会忽略断点,尽管其他工作方式(实际上是在index.php文件的第一行停止)。
答案 1 :(得分:5)
我问同样的事情并得到了这个非常好的答案:How to track execution time of each line / block of lines / methods in PHP?。
关于这方面的一些补充说明(我在自己的研究中收集的其他SO帖子中有这个问题):
答案 2 :(得分:4)
您可以尝试以下几种方法:
答案 3 :(得分:4)
我有一个类似的问题,并遇到一个帖子来解决问题。我的html表单(testform.html)调用了一个php脚本(runQuery.php),Netbeans无法在runQuery.php的设置断点处中断
通过在像这样的论坛上搜索检查php.ini和Netbeans中的所有配置设置后,我发现如果项目的索引文件是PHP文件,netbeans将仅在断点处中断。这非常重要,否则你将花费数小时试图弄清楚为什么断点不起作用。
在Netbeans中,进入文件/项目属性/运行配置,检查索引文件是否为PHP文件。在我的情况下,我将我的索引文件从testform.html更改为testform.php并且它工作正常,我能够突破断点。
亚萨尔
答案 4 :(得分:2)
确保您的netbeans设置如下:
工具 - >选项 对话框现在将打开点击PHP 点击调试有多个标签 并检查调试器端口是否为9000
答案 5 :(得分:1)
最好是通过SSH隧道,将远程主机设置为localhost。它可以防止你使用防火墙,nat或端口转发来搞乱ip。
答案 6 :(得分:1)
请检查一下。在你的php.ini中确保启用所有这些选项。否则将其添加到php.ini文件的末尾(例如 /etc/php/5.6/apache2/php.ini )。
[xdebug]
zend_extension="/usr/lib/php5/20121212/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.default_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.idekey="netbeans-xdebug"
检查文件系统中xdebug.so的路径(/ usr / lib / php5 / 20121212 /),相应地更改zend_extension值。
第一行的zend_extension值适用于ubuntu用户。我认为变量无需改变。请取消选中第一行的停靠点( tools-> options-> php-> Debugging )。
答案 7 :(得分:0)
端口9000是否可供使用,请尝试将其更改为9001(Netbeans和php.ini)。 我首先尝试使用xdebug_break()进行断点,然后查看" Variables"中显示的内容。窗口。至少必须展示超级全球。
顺便说一句:IDE的断点(左侧:行号)无法在空行或带注释的行上创建,它必须包含一些代码。