我一直在嘗試幾個星期才讓我的PHPStorm通過Xdebug連接到遠程主機。最近我發現客戶端的主機阻塞了端口9000.我終於有了這個固定的,現在xdebug日誌顯示它連接到客戶端(當然是我)。Xdebug即使在記錄中斷時也不會停止,但表示它已連接到客戶端
但是,它不停止在任何斷點上。在PHPStorm中設置的斷點甚至不會顯示在日誌中。呼叫xdebug_break();
至少會被記錄爲休息時間,但仍然不會停止。
基於其他問題,我在這裏已經確認了XDebug裝有zend_extention=/full/path/xdebug.so
,而不是與extension=xdebug.so
我也嘗試從端口9000切換到端口9001,在結果沒有變化。
的日誌條目:
Log opened at 2015-06-09 14:41:10 //and many other dates and times
I: Checking remote connect back address.
I: Remote address found, connecting to MY.IP.HE.RE:9000. //similar message on port 9001 after trying that
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///chroot/home/company/remotehost.com/html/index.php" language="PHP" protocol_version="1.0" appid="2294" idekey="PHPSTORM"><engine version="2.2.2"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2013 by Derick Rethans]]></copyright></init>
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" status="break" reason="ok"><xdebug:message filename="file:///chroot/home/company/remotehost.com/html/app/code/community/Zzyzzx/Stores/controllers/TestController.php" lineno="11"></xdebug:message></response>
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>
Log closed at 2015-06-09 14:41:13
它得到的文件,從具有3個斷點在線路編碼在IDE和一個設置11
什麼可能導致它失敗遵循斷點並讓我調試?
我在服務器設置中使用的路徑是/home/company/remotehost.com/html
映射到我的項目根目錄,其中包含相同的文件。我明白這是從根開始的絕對路徑,如果我明白它是由日誌顯示從代碼中斷的確認。它是唯一具有路徑集的文件。我是否需要爲每個文件設置路徑?
我也嘗試刪除服務器,希望觸發對話框,但沒有觸發,我只是得到完全相同的日誌條目與新的時間/日期/ IP。
我剛剛發現,無論何時我試圖重新載入正在調試的頁面,在我的「運行」菜單中都有一個「恢復程序」的選項,它會調出我想要調試的文件列表。點擊該按鈕打開調試工具窗口,其中顯示消息「正在等待來自JetBrains IDE支持擴展的Chrome ...的連接...」。這不是用於調試JavaScript嗎?它試圖將我的PHP調試爲Javascript嗎?
另外我嘗試使用一些其他類似的結果xdebug客戶端。它連接,然後給出相同的消息。讓我覺得這不是PHPStorm。
一切我已經試過試圖調試以下代碼:
class Zzyzzx_Stores_TestController extends Mage_Core_Controller_Front_Action
{
public function indexAction()
{
echo "in the controller 1 <br />";
xdebug_break();
echo "in the controller 2 ";
//3 commented lines of unused code
//
//
phpinfo();
//2 commented lines of unused code
//
}
}
符在IDE中設置每個「回聲」,當然你可以看到編碼的休息。
調試這個本地工作正常。
缺少路徑映射,很可能。 1)https://www.jetbrains.com/phpstorm/quickstart/debugger.html 2)https://confluence.jetbrains.com/display/PhpStorm/Debugging+with+PhpStorm – LazyOne
所以..你是否設法解決它? – LazyOne
不,還沒有。由於客戶的緣故,它幾天後就停止了。路徑映射看起來沒問題。有沒有辦法去除所有映射並強制它再次執行嚮導? –