如何獲取REST客戶端(如PHPStorm或POSTman中內置的客戶端)與XDebug一起使用?使用PHPStorm或POSTman的XDebug和RESTful服務器
在我當前使用的XDebug中,使用PHPStorm和Bookmarklet provided,我可以在Chrome和Firefox中都能使用它 - 但是一旦我嘗試使用POSTman或任何其他REST客戶端,我無法弄清楚如何開始。
乾杯。
如何獲取REST客戶端(如PHPStorm或POSTman中內置的客戶端)與XDebug一起使用?使用PHPStorm或POSTman的XDebug和RESTful服務器
在我當前使用的XDebug中,使用PHPStorm和Bookmarklet provided,我可以在Chrome和Firefox中都能使用它 - 但是一旦我嘗試使用POSTman或任何其他REST客戶端,我無法弄清楚如何開始。
乾杯。
直到http://youtrack.jetbrains.com/issue/WI-17031將實施則可以嘗試以下方法之一:
配置您的XDebug(編輯php.ini文件),以嘗試調試每 PHP腳本(xdebug.remote_autostart = 1
)
將xdebug會話啓動參數添加到實際URL(XDEBUG_SESSION_START={{KEY}}
- http://xdebug.org/docs/remote),例如:?XDEBUG_SESSION_START=PHPSTORM
通Xdebug的cookie作爲頭一個(由bookmarklet或瀏覽器擴展設置一個,例如)
對於這個工作 - 確保「電話手柄」圖標被激活(Run | Start Listen for PHP Debug Connection
) 提前。
謝謝你的回答。正如我上面所說,第二個爲我工作,但我想我會更有興趣嘗試實現第三個 - 我唯一的問題是我沒有任何喜歡通過POSTman或PHPStorm設置cookie。無論如何,這現在的作品,所以謝謝:) –
如果有人正在使用REST控制檯鉻擴展,添加XDEBUG_SESSION_START作爲他們的鑰匙和PHPSTORM作爲請求有效載荷(請求參數)下的值爲我工作 – JackalopeZero
這解決了我的問題,我不得不把https:// fqdn/rest/route?XDEBUG_SESSION_START = PHPSTORM,我還必須添加到標頭:Cookie:XDEBUG_SESSION = PHPSTORM。我目前正在調試一個寧靜的服務,所以這是有幫助的 – krob
這讓我瘋狂。我只是更新到PHP 7.1和xdebug工作不再起作用。我更新了xdebug.so
文件(Linux),php --version
表示xdebug確實正在加載並正在工作。但是當我使用Postman時,調試器從未被踢過。
下面是解決方案。如果您正在使用Apache作爲你的服務器,那麼你需要啓用PHP 7.1 MODS並重新啓動Apache的:sudo service apache2 restart
這解決了我的問題。我正在使用代客,所以做'代客停車'和'代客啓動'這個伎倆。 – leonardfactory
https://github.com/tacnoman/dephpugger 這LIB運行在終端的調試器(如IPDB Python和Byebug爲Ruby)。 是非常容易使用,並有示例如何運行php cli腳本和web服務器。
需要更多信息。 –
使用該「手柄」圖標,IDE開始偵聽調試連接。然後,將xdebug(php.ini)配置爲調試**每個** php腳本('xdebug.remote_autostart = 1'),或者查看是否將xdebug會話啓動參數('XDEBUG_SESSION_START = {{name}}')添加到URL將有助於:http://xdebug.org/docs/remote。或者,您可以將xdebug cookie作爲標題之一傳遞(例如,由小書籤設置的標題)。除此之外:http://youtrack.jetbrains.com/issue/WI-17031 – LazyOne
我試圖避免在每個請求上都有XDEBUG啓動 - 但是,在URL的末尾添加「?XDEBUG_SESSION_START = PHPSTORM」可以起到治療作用。 (稍微凌亂的解決方案,但有效) –