2014-05-14 55 views
18

我能夠在PHPStorm中設置一個php web應用程序調試器,只需將它綁定到本地主機的特定端口即可,一切正常。但是對於工作,我需要在外殼上先運行此命令:如何使用Symfony命令行工具在PHPStorm中使用內置的web服務器進行調試

php app/console server:run --env=dev 

如果我設置斷點從一個瀏覽器瀏覽網站本身或測試API調用基於REST客戶端,像postman

這只是正常

但是我試圖爲我的移動應用程序設置斷點(移動應用程序向後臺應用程序發送http調用,這是一個symfony應用程序)。使用網絡應用程序配置不適用於此應用程序。

使用this教程我能夠將上述命令行合併到PHPStorm中,所以現在我可以使用phpstorm命令行工具實際運行代碼。

我的問題是:我如何將調試器綁定到PHPStorm中的命令行?現在,當我創建PHPStorm它默認一個built-in web server使用默認PHP解釋器(即如果我運行使用的代碼內置的Web服務器。我看到這個PHPStorm控制檯:

/usr/local/Cellar/php54/5.4.28/bin/php -S localhost:8000 -t /project/root/directory 

我想要什麼,而不是是這樣的:?

php app/console server:run --env=dev -S localhost:8000 -t /project/root/directory 

任何想法如何做到這一點

回答

25

你不應該創建一個運行配置可言,只是爲了點擊按鈕收聽:

  1. 配置xdebug以嘗試調試每個腳本(xdebug.remote_autostart = 1xdebug.remote_enable = 1)。

  2. 使用「電話手柄」,在IDE圖標開始監聽調試連接(如在here描述)從任何地方

  3. 啓動你的PHP代碼 - XDebug的將嘗試調試每個傳入的請求。

這是關於這個問題的一個小時的長度webinar

獎金

,如果你有興趣做的VI + Xdebug的同樣的事情,看到this答案。

+4

我相信你忘了一步:添加xdebug.remote_enable = 1 – David

+1

非常感謝!現在很明顯。如果我可以在嘗試運行IntelliJ文檔後面的調試器時節省4小時,則可以找到此文章...... :( – Fabio

+0

對於Mac用戶(但設置適用於所有其他平臺),還有一個很好的安裝文章,位於http:// antistatique.net/blog/2013/09/17/debugging-with-xdebug-and-phpstorm-on-macos-x/。 –

相關問題