我在使用Yii框架的PHP项目中遇到了问题。我的设置如下: Win7 + Eclipse4.2 +PDT3.1+ Yiiclipse扩展+启用了XDEBUG的WAMP服务器。
几乎所有的东西都能正常工作。调试会话开始,它正在检查项目的index.php源代码,但是当它必须跳转到框架的文件时,它不会打开它们。我编辑了源代码查找并添加了框架的本地路径,但它根本找不到它们。
这是一个屏幕截图:http://img607.imageshack.us/img607/3687/eclipsepdt.png
发布于 2013-04-09 23:27:38
这不一定是一个答案-但你的问题也不一定是一个问题,所以我觉得这是一个公平的游戏:D
我过去在Eclipse PDT + xdebug的调试、代码完成等方面遇到了很多问题,所以不久前我放弃了它,转而使用Netbeans进行PHP调试。在我的开发团队中,它现在是调试PHP的事实上的标准;尽管我们仍然有自己喜欢的编辑器,但当我们需要调试时,我们仍然会使用Netbeans。
代码完成、phpdoc完成时的“工具提示”和调试对我来说都是完美无缺的,不管我在什么平台上开发(Windows、OS X、Linux),我不能对Eclipse PDT说同样的话(代码完成经常会错过,我会遇到问题或崩溃调试,等等)。根据我的个人经验。
因此,如果这不是一个非问题的答案,我提前道歉--但也许可以尝试一下Netbeans
发布于 2013-05-15 20:34:20
您确定可以使用Xdebug来调试Yii (或任何其他基于框架的)应用程序吗?由于Yii引入了基于MVC模式的URL重写,我认为你不能。
我没有多少使用Xdebug的经验,但从我发现的情况来看,我清楚地看到,在调试时,Xdebug(以及Eclipse PDT)强烈依赖于Eclipse内部浏览器中显示的URL。
因此,以屏幕截图中的URL为例:
http://localhost/testdrive/index.php?r=dispozitive
正如您所提到的,Eclipse已经正确地打开了index.php
,这是正常的,因为它在URL中被直接引用,并且您在调试配置窗口中指出它是启动文件是有问题的。
但是更进一步。您希望Eclipse如何理解路由dispozitive
(其中路由本身是一个完全Yii概念(或类似框架),而Eclipse / Xdebug / PHP对此一无所知),还是希望Eclipse部分对应于在文件系统中执行protected/SiteController.php
文件并从中调用默认actionIndex()
?因此它可以知道它应该在IDE中打开它,并可能在定义的断点上停止执行。
这个过程和概念(路由)是100%由Yii编写并在内部完成的,那么您希望Eclipse或Xdebug如何了解它呢?
正如我所写的,我在调试Yii应用程序方面没有太多经验,但从我所发现的情况来看,我清楚地看到,如果PHP应用程序正在使用任何类型的URL重写方法,您就不能使用Xdebug调试PHP应用程序。这种技术(使用Xdebug进行调试)仅在应用程序中有效,在应用程序中,URL的更改直接反映应用程序内容中的文件系统中的文件。
Eclipse :另外,检查一下您的版本(包)是什么?它turns out时,Helios包有一些错误,且不会在断点处停止。这使得它在调试过程中变得非常无用。您应该考虑改用Galileo Package Eclipse for PHP Developers。
https://stackoverflow.com/questions/14500484
复制相似问题