phpstorm和xdebug断点

时间:2011-06-06 20:13:07

标签: breakpoints xdebug phpstorm

我使用phpstorm开发网站,但由于某些原因,断点不同步。这是我的情况:

我有一个文件夹,我保存所有项目。在同一台电脑上,我还将xampp作为测试服务器运行。在phpstorm中,我将xampp测试服务器配置为已安装的文件夹服务器。但是当我在原始源文件中应用断点时,这些断点与xampp的htdocs文件夹中的文件不同步。我该如何解决这个问题?

4 个答案:

答案 0 :(得分:8)

看起来您需要设置路径映射。有一些信息 - http://blogs.jetbrains.com/webide/2011/03/configure-php-debugging-in-phpstorm-2-0/

答案 1 :(得分:2)

当我设置断点时遇到了类似的问题,但在调试时它没有停止。我的网络服务器使用虚拟驱动器号使httdocs路径更容易。所以我的错误是我没有在File-Settings-Directories中将虚拟路径设置为项目的内容根,而是我本地文件夹的真实路径

答案 2 :(得分:2)

我遇到类似问题的phpstorm 4.x / xdebug 2.2.3 / php 5.4.3

我可以在代码中设置一个高点,它可以正常工作,但是我可以看到调试器与实际代码不同步。这意味着跳过了一些断点。

经过大量的实验,我终于解决了这个问题,这是因为我在我的变量中有换行符。

例如:

    $q = "SELECT * 
    FROM table
    WHERE
    product_id = 'whatever'
    AND product_status != 'inactive'";
当它到达这个语句时,

将抛出调试器4到5行。

将此更改为:

$q = "SELECT * FROM table WHERE product_id = 'whatever' AND product_status != 'inactive'";

解决了问题!

显然这会影响任何带换行符的var声明,而不仅仅是那些用于SQL查询的声明。有点痛苦,因为我这样做是为了提高可读性,但我希望这能为其他有同样问题的人节省一些时间。

答案 3 :(得分:0)

也许这对你不起作用,但我只是让我的MAMP的主​​文件夹指向我项目的根文件夹,所以不需要同步/挂载