2011-03-15 85 views
19

我使用PHPStorm作爲調試PHP的主要工具,我非常高興。到目前爲止,我一直在使用Firefox來運行這些腳本,並且PHPStorm能夠完美地捕捉到這些內容。調試PHPStorm中的PHP命令行腳本

現在我遇到了一種情況,即通過命令行(而不是瀏覽器)運行PHP腳本,並想知道是否有方法通過命令行運行PHP腳本時設置PHPStorm來捕捉中斷?

+2

請參閱下面的[Venkat's answer](http://stackoverflow.com/a/17429641/1924128)瞭解簡單解決方案。目前接受的答案已過時。 – 2015-10-08 21:32:25

回答

13

watch/vote相關的PhpStorm問題。

目前配置有點複雜。應該可以使用PhpStorm中的僞服務器和Php遠程調試配置進行調試,如described in the Zend KB。請注意,本教程中有一個錯誤,你需要設置QUERY_STRING像這樣(在Windows上):

SET "QUERY_STRING=start_debug=1&debug_port=10137&debug_host=127.0.0.1&debug_stop=1&no_remote=1&debug_session_id=10000" 

(注意引用這是很重要的區別)。

設置PhpStorm像顯示在屏幕截圖:

fake server

remote debug

按主工具欄上的調試按鈕。 PhpStorm將開始監聽調試器連接。

在命令行運行腳本:

d:\dev\zend\ZendServer\bin\php.exe d:\work\attaches\sample\helps.php 

PhpStorm會命中斷點:

breakpoint hit

這是在Windows測試與Zend Server安裝,但應該對類似其他系統和xdebug。

如果要直接從PhpStorm進行調試,請使用Php腳本運行/調試配置類型。爲此項目配置的PHP實例必須在配置文件中啓用Zend DebuggerXdebug

PHP主頁和調試器模式可以在File | Settings | PHP中指定。

剛剛通過Zend服務器安裝(PHP主頁:d:\dev\zend\ZendServer\bin)和Zend Debugger進行驗證,對我來說非常合適。

+0

+1非常感謝!使用** PHP腳本**運行/調試配置類型是一個可以接受的解決方法 - 我嘗試了它並使其工作。但是,這並不理想,因爲我必須爲每個要運行第三方外部工具的腳本設置配置。如果我可以使用**外部工具**機制並讓PHPStorm捕捉中斷,那將會很好,但我想我必須等待! – JoshuaDavid 2011-03-15 20:31:56

+0

我已經使用純粹的遠程配置指南更新了我的回覆,因爲在Zend知識庫文章中引用不正確,所以之前無法使用。 – CrazyCoder 2011-03-15 20:39:38

+0

謝謝! '虛擬'方法非常好,而且在運行外部工具時需要大量通用。 – JoshuaDavid 2011-03-15 20:46:02

2

檢查設置了環境變量SERVER_NAMESERVER_PORT。 PHPStorm需要他們做正確的映射。將它們設置爲在bash中導出或在phpscript中手動導入。在這兩種情況下,PHPStorm都可以正確找到$_SERVER['SERVER_NAME']$_SERVER['SERVER_PORT']

+0

這整理了我的映射,謝謝!雖然它只在我用bash導出變量時才起作用 - 在PHP腳本中設置它們本身不起作用。 – Alex 2014-04-03 17:13:23

49

要與Phpstorm殼/命令行上啓用PHP調試運行與Xdebug的是很容易的:

export XDEBUG_CONFIG="idekey=PHPSTORM" 

在Windows的命令行,請使用設置的,而不是出口。

set XDEBUG_CONFIG="idekey=PHPSTORM" 

確保Phpstorm正在偵聽PHP調試連接。

爲了從命令行端禁用調試:

unset XDEBUG_CONFIG 

這(PHPSTORM)是默認的Phpstorm IDE-密鑰。

+0

謝謝,它的作品! – 2013-08-19 17:01:58

+1

這應該是被接受的答案!它的作用就像一個魅力 – WonderLand 2013-08-29 16:21:43

+0

在Windows CLI中使用'set XDEBUG_CONFIG =「idekey = PHPSTORM」' – 2014-08-29 12:25:11

5
  1. 單擊運行。
  2. 點擊編輯配置...
  3. 點擊綠色+
  4. 選擇PHP腳本。
  5. 在名稱字段中提供名稱。
  6. 在「文件」字段中提供腳本的完整路徑。
  7. 單擊確定。
  8. 選擇您剛纔在此下拉列表中配置的腳本:

Screenshot of PhpStorm menu bar

  • 點擊運行或調試按鈕。你的腳本應該運行,它應該捕獲設置的任何斷點。
  • 如果您運行腳本,你可以看到此輸出:

    Screenshot of Run widget, typically docked on the bottom of the window

    如果調試腳本,你可以看到此輸出:

    Screenshot of Console widget, docked in the Debug widget

    1

    對我來說(在MacOS上)它的工作方式如下: export XDEBUG_CONFIG="idekey=12345"

    +0

    也是如此 – Northys 2016-08-29 07:39:46