您確定,您可以使用Xdebug來調試Yii(或任何其他基於框架的)應用程序嗎?由於Yii基於MVC模式引入了URL重寫,我認爲你不能。
我對Xdebug沒有多少經驗,但是從我發現的內容中我清楚地看到,它(與Eclipse PDT一起)在調試時強烈依賴於Eclipse內部瀏覽器中顯示的URL。
因此,採取例如從截圖的網址:
http://localhost/testdrive/index.php?r=dispozitive
正如你提到的,Eclipse已經正確打開index.php
,這是正常的,因爲它是在URL中直接引用你problably指出它作爲在調試配置窗口中啓動文件。
巴特走得更遠。您希望Eclipse如何理解,那條路線dispozitive
(其中路線本身是一個完全Yii的概念(或類似的框架),Eclipse/Xdebug/PHP對此一無所知)或者?r=dispozitive
URL部分對應於在您的文件中執行protected/SiteController.php
文件系統並從它調用默認actionIndex()
?所以它可能知道它應該在IDE中打開它,並可能停止執行那裏定義的斷點。
這個過程和概念(路由)由Yii 100%撰寫並由內部完成,所以您如何使Eclipse或Xdebug知道它?我在寫Yii應用程序時沒有太多經驗,但從我發現的知識直到知道,我清楚地看到,如果他們使用任何類型的Xdebug,都無法調試PHP應用程序的URL重寫方法。這種技術(使用Xdebug進行調試)僅適用於應用程序,恕我直言,恕我直言,URL更改直接反映應用程序內容中的文件系統中的文件。
編輯:此外,檢查你的Eclipse的哪個版本(包)?它的turns out,Helios軟件包有一些錯誤,並不停在斷點上。這使得調試過程非常無用。您應該考慮使用Galileo Package Eclipse for PHP Developers。
你使用符號鏈接嗎? – Derick
你有沒有嘗試過一些簡單的項目來檢查它是否有效?首先確保是否是Yii具體問題,或者是一些eclipse配置錯誤。 – 2013-02-12 08:58:33