我使用PHPStorm作爲調試PHP的主要工具,我非常高興。到目前爲止,我一直在使用Firefox來運行這些腳本,並且PHPStorm能夠完美地捕捉到這些內容。調試PHPStorm中的PHP命令行腳本
現在我遇到了一種情況,即通過命令行(而不是瀏覽器)運行PHP腳本,並想知道是否有方法通過命令行運行PHP腳本時設置PHPStorm來捕捉中斷?
我使用PHPStorm作爲調試PHP的主要工具,我非常高興。到目前爲止,我一直在使用Firefox來運行這些腳本,並且PHPStorm能夠完美地捕捉到這些內容。調試PHPStorm中的PHP命令行腳本
現在我遇到了一種情況,即通過命令行(而不是瀏覽器)運行PHP腳本,並想知道是否有方法通過命令行運行PHP腳本時設置PHPStorm來捕捉中斷?
請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像顯示在屏幕截圖:
按主工具欄上的調試按鈕。 PhpStorm將開始監聽調試器連接。
在命令行運行腳本:
d:\dev\zend\ZendServer\bin\php.exe d:\work\attaches\sample\helps.php
PhpStorm會命中斷點:
這是在Windows測試與Zend Server安裝,但應該對類似其他系統和xdebug。
如果要直接從PhpStorm進行調試,請使用Php腳本運行/調試配置類型。爲此項目配置的PHP實例必須在配置文件中啓用Zend Debugger或Xdebug。
PHP主頁和調試器模式可以在File | Settings | PHP
中指定。
剛剛通過Zend服務器安裝(PHP主頁:d:\dev\zend\ZendServer\bin
)和Zend Debugger進行驗證,對我來說非常合適。
+1非常感謝!使用** PHP腳本**運行/調試配置類型是一個可以接受的解決方法 - 我嘗試了它並使其工作。但是,這並不理想,因爲我必須爲每個要運行第三方外部工具的腳本設置配置。如果我可以使用**外部工具**機制並讓PHPStorm捕捉中斷,那將會很好,但我想我必須等待! – JoshuaDavid 2011-03-15 20:31:56
我已經使用純粹的遠程配置指南更新了我的回覆,因爲在Zend知識庫文章中引用不正確,所以之前無法使用。 – CrazyCoder 2011-03-15 20:39:38
謝謝! '虛擬'方法非常好,而且在運行外部工具時需要大量通用。 – JoshuaDavid 2011-03-15 20:46:02
檢查設置了環境變量SERVER_NAME
和SERVER_PORT
。 PHPStorm需要他們做正確的映射。將它們設置爲在bash中導出或在phpscript中手動導入。在這兩種情況下,PHPStorm都可以正確找到$_SERVER['SERVER_NAME']
和$_SERVER['SERVER_PORT']
。
這整理了我的映射,謝謝!雖然它只在我用bash導出變量時才起作用 - 在PHP腳本中設置它們本身不起作用。 – Alex 2014-04-03 17:13:23
要與Phpstorm殼/命令行上啓用PHP調試運行與Xdebug的是很容易的:
export XDEBUG_CONFIG="idekey=PHPSTORM"
在Windows的命令行,請使用設置的,而不是出口。
set XDEBUG_CONFIG="idekey=PHPSTORM"
確保Phpstorm正在偵聽PHP調試連接。
爲了從命令行端禁用調試:
unset XDEBUG_CONFIG
這(PHPSTORM)是默認的Phpstorm IDE-密鑰。
謝謝,它的作品! – 2013-08-19 17:01:58
這應該是被接受的答案!它的作用就像一個魅力 – WonderLand 2013-08-29 16:21:43
在Windows CLI中使用'set XDEBUG_CONFIG =「idekey = PHPSTORM」' – 2014-08-29 12:25:11
如果您運行腳本,你可以看到此輸出:
如果調試腳本,你可以看到此輸出:
請參閱下面的[Venkat's answer](http://stackoverflow.com/a/17429641/1924128)瞭解簡單解決方案。目前接受的答案已過時。 – 2015-10-08 21:32:25