IntelliJ IDEA:配置Zend調(diào)試器

2019-03-20 17:22 更新

配置Zend調(diào)試器

此功能僅在Ultimate版本中受支持。
以下內(nèi)容僅在安裝并啟用PHP插件時(shí)有效!

下載并安裝Zend Debugger

  1. 下載與您的操作系統(tǒng)對(duì)應(yīng)的Zend Debugger軟件包。
  2. 在與您的PHP版本(例如4.3.x,4.4.x,5.0.x,5.1.x,5.2.x,5.3.x,5.4.x)對(duì)應(yīng)的目錄中找到 ZendDebugger.so(Unix)或 ZendDebugger.dll(Windows)文件 。
  3. 將文件復(fù)制到Web服務(wù)器可訪問(wèn)的位置中的Web服務(wù)器。

啟用Zend Debugger與PHP解釋器的集成

  1. 在編輯器中打開(kāi)活動(dòng)文件php.ini:
    1. 在“設(shè)置/首選項(xiàng)”對(duì)話框(Ctrl+Alt+S)中,單擊“語(yǔ)言和框架”下的“PHP”。
    2. 在打開(kāi)的PHP頁(yè)面上,單擊“CLI解釋器”字段旁邊的browseButton。
    3. 在打開(kāi)的“CLI解釋器”對(duì)話框中,“配置文件”只讀字段顯示活動(dòng)php.ini文件的路徑。單擊“在編輯器中打開(kāi)”。
  2. 找到或創(chuàng)建該[Zend]部分。
  3. 要加載Zend Debugger擴(kuò)展,請(qǐng)根據(jù)您的操作系統(tǒng)在該[Zend]部分中添加以下行之一:
    • 對(duì)于Linux和macOS:
      zend_extension=<full_path_to_ZendDebugger.so>
    • 對(duì)于Windows:
      zend_extension_ts=<full_path_to_ZendDebugger.dll>
    • 對(duì)于非線性安全的Windows:
      zend_extension=<full_path_to_ZendDebugger.dll>
      非線性安全的Windows二進(jìn)制文件僅用于Zend Core 2.0。
  4. 要從IntelliJ IDEA啟用對(duì)Zend Debugger的訪問(wèn),請(qǐng)?zhí)砑右韵滦校?nbsp;
    zend_extension=<full_path_to_zend_debugger_extension>
    zend_debugger.allow_hosts=127.0.0.1
    zend_debugger.expose_remotely=allowed_host
    zend_debugger.tunnel_min_port=<any integer value above 1024> 
    zend_debugger.tunnel_max_port=<any integer value below 65535>
    
    zend_debugger.allow_hosts參數(shù)的值是連接到服務(wù)器調(diào)試器的計(jì)算機(jī)的IP。它可以是以逗號(hào)分隔的 Ip 列表, 格式為 x. x. x. x (例如, 192.168.0.6)。
    提示:對(duì)于線程安全的Windows二進(jìn)制文件,請(qǐng)使用zend_extension_ts參數(shù)而不是zend_extension。
  5. 重新啟動(dòng)Web服務(wù)器。
  6. 要檢查Zend Debugger是否已正確安裝和配置,請(qǐng)創(chuàng)建一個(gè)包含以下內(nèi)容的文件:
    <?php
        phpinfo(); 
    ?>
    
    在瀏覽器中打開(kāi)與該文件對(duì)應(yīng)的頁(yè)面。輸出應(yīng)包含Zend Debugger部分。

將Zend Debugger與IntelliJ IDEA集成

  1. 按下Ctrl+Alt+S或選擇:文件|設(shè)置(對(duì)于Windows和Linux),或IntelliJ IDEA|首選項(xiàng)(對(duì)于macOS)以打開(kāi)“設(shè)置/首選項(xiàng)”對(duì)話框,然后單擊“語(yǔ)言和框架”下的PHP。 
  2. 檢查與所選PHP解釋器關(guān)聯(lián)的Zend Debugger安裝:
    1. 在PHP頁(yè)面上,從CLI解釋器列表中選擇相關(guān)的PHP安裝,然后單擊該字段旁邊的“瀏覽( browseButton)”。該列表顯示了IntelliJ IDEA中可用的所有PHP安裝,請(qǐng)參閱配置本地PHP解釋器配置遠(yuǎn)程PHP解釋器。
    2. 打開(kāi)的“CLI解釋器”對(duì)話框顯示以下內(nèi)容:
      • 所選PHP安裝的版本。
      • 與所選PHP安裝(Xdebug或Zend Debugger)關(guān)聯(lián)的調(diào)試引擎的名稱和版本。如果未配置調(diào)試器,則IntelliJ IDEA顯示Debugger: Not installed。
  3. 定義Zend Debugger行為。單擊PHP節(jié)點(diǎn)下的Debug。在打開(kāi)的Debug頁(yè)面上,在Zend Debugger區(qū)域中指定以下設(shè)置:
    • 在“調(diào)試端口”文本框中,指定IntelliJ IDEA的端口以通過(guò)該工具進(jìn)行通信。通過(guò)zend_debugger.tunnel_min_port和zend_debugger.tunnel_max_port在php.ini文件中指定的tunnel中鍵入端口號(hào)。
    • 要讓IntelliJ IDEA通過(guò)“調(diào)試端口”文本框中指定的端口接受來(lái)自Zend Debugger引擎的任何傳入連接,請(qǐng)選中“可以接受外部連接”復(fù)選框。
    • 要在瀏覽器中使用調(diào)試器工具欄,請(qǐng)?jiān)凇霸O(shè)置廣播端口”文本框中指定將調(diào)試器設(shè)置傳遞到瀏覽器的端口。
    • 使用“自動(dòng)檢測(cè)IDE IP”復(fù)選框可以啟用和禁用熱IP地址的自動(dòng)檢測(cè)。選中此復(fù)選框后,IntelliJ IDEA將通過(guò)debug_host參數(shù)檢測(cè)要發(fā)送到Zend Debugger的所有主機(jī)IP地址。所有檢測(cè)到的IP地址都列在右側(cè)的文本框中。使用Vagrant,VirtualBox或其他虛擬化工具時(shí),自動(dòng)檢測(cè)IP地址非常有用。
      清除復(fù)選框以阻止主機(jī)IP地址的自動(dòng)檢測(cè),并在文本框中明確指定所需的地址。
  4. 在“外部連接”區(qū)域中,指定IntelliJ IDEA如何處理從主機(jī)接收的連接以及未注冊(cè)為部署服務(wù)器配置的端口。
    • 通過(guò)未注冊(cè)的服務(wù)器配置忽略外部連接:選中此復(fù)選框可使IntelliJ IDEA忽略從主機(jī)和未注冊(cè)為部署服務(wù)器配置的端口收到的連接。選中此復(fù)選框后,IntelliJ IDEA不會(huì)嘗試自動(dòng)創(chuàng)建部署服務(wù)器配置。
    • 在PHP腳本的第一行中斷: 選中此復(fù)選框可在調(diào)試器與IntelliJ IDEA建立連接后立即停止(而不是在達(dá)到第一個(gè)斷點(diǎn)之前自動(dòng)運(yùn)行)。或者在主菜單上打開(kāi)“運(yùn)行|在PHP腳本的第一行中斷”選項(xiàng)。
    • 最大同時(shí)連接數(shù):使用此選值框限制可以同時(shí)處理的外部連接數(shù)。
  5. 若要阻止來(lái)自 Z-Ray 系統(tǒng)的請(qǐng)求,如果它們過(guò)于頻繁地調(diào)用 IntelliJ IDEA 調(diào)試器而打擾了您, 請(qǐng)選中 "忽略 Z-Ray 系統(tǒng)請(qǐng)求" 復(fù)選框。

配置Zend Debugger以在On-Demand模式下使用

IntelliJ IDEA 2016.2及更高版本支持On-Demand模式,您可以在其中禁用Zend Debugger以進(jìn)行全局PHP安裝,并且只有在調(diào)試命令行腳本或需要代碼覆蓋率報(bào)告時(shí)才能按需自動(dòng)啟用它。這使您的命令行腳本(包括Composer和單元測(cè)試)運(yùn)行得更快。

  1. 禁用Zend Debugger用于命令行腳本:
    1. 在“設(shè)置/首選項(xiàng)”對(duì)話框(Ctrl+Alt+S)中,選擇“語(yǔ)言和框架”下的“PHP”。
    2. 從PHP可執(zhí)行文件列表中,選擇相關(guān)的PHP解釋器并單擊它旁邊的 browseButton。在打開(kāi)的“CLI解釋器”對(duì)話框中,單擊“配置文件:<path to php.ini>”文件旁邊的“在編輯器中打開(kāi)”鏈接。關(guān)閉所有對(duì)話框并切換到已打開(kāi)php.ini文件的選項(xiàng)卡。 
    3. 在該php.ini文件中,找到[Zend],并通過(guò)在前置詞中添加;來(lái)注釋以下行:
      • 對(duì)于Linux和macOS:
        zend_extension=<full_path_to_ZendDebugger.so>
      • 對(duì)于Windows: 
        zend_extension_ts=<full_path_to_ZendDebugger.dll>
      • 對(duì)于非線性安全的Windows:
        zend_extension=<full_path_to_ZendDebugger.dll>
        非線性安全的Windows二進(jìn)制文件僅用于Zend Core 2.0。
    4. 打開(kāi)“CLI解釋器”對(duì)話框,然后單擊PHP可執(zhí)行文件字段旁邊的 圖標(biāo)動(dòng)作刷新svg。IntelliJ IDEA通知您未安裝調(diào)試器:
      ps_interpreters_debugger_not_installed.png
  2. 要在必要時(shí)啟用IntelliJ IDEA以激活Zend Debugger,請(qǐng)?jiān)凇罢{(diào)試器擴(kuò)展”文本框的“附加”區(qū)域中指定它的路徑。手動(dòng)鍵入路徑,或單擊 browseButton,并在打開(kāi)的對(duì)話框中選擇位置。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)