2011-06-06 105 views
4

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

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

回答

8

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

+0

我已经这样做了,但猜猜是什么:我只是重新检查我的设置,我发现我意外地使用了错误的服务器...无论如何,谢谢你的答案! – Tiddo 2011-06-07 19:17:50

+0

它足以设置根项目文件夹的路径,谢谢:) – ArcanisCz 2013-03-22 09:29:58

+0

这些映射设置往往会不时消失(再次碰到它**),所以对于那些遇到这个问题的人来说googleing:do检查映射! – 2013-12-04 04:49:54

0

也许这并不能为你工作,但我有我的甲基苯丙胺的主文件夹指向我的项目的根文件夹,所以没有同步安装件需要/

+1

我不想这样做:在我的项目文件夹中,我有比服务器上更多的文件(例如photoshop文件等),并且我在同一个xampp服务器上的不同文件夹中工作。如果我想改变它,我将不得不在我的电脑上重新组织我的完整文件夹结构。 – Tiddo 2011-06-06 20:25:13

2

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

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查询的var声明。痛苦的一点,因为我这样做是为了可读性,但我希望这可以为有相同问题的其他人节省一些时间。