IntelliJ IDEA:使用PHP Web頁面調(diào)試配置進(jìn)行調(diào)試

2019-04-04 15:29 更新

使用PHP Web頁面調(diào)試配置進(jìn)行調(diào)試

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

在此調(diào)試模式下,IntelliJ IDEA完全控制調(diào)試過程:它啟動(dòng)應(yīng)用程序,打開瀏覽器,并根據(jù)PHP Web頁面調(diào)試配置激活調(diào)試引擎。

一個(gè)PHP Web頁調(diào)試配置告訴IntelliJ IDEA訪問應(yīng)用程序起始頁的URL地址,要用于打開起始頁的瀏覽器和要使用的調(diào)試服務(wù)器配置。

您還可以指定希望IntelliJ IDEA在調(diào)試過程中忽略的腳本請(qǐng)求。當(dāng)您的應(yīng)用程序包含使用AJAX的腳本時(shí),此方法很有用。假設(shè)你有一個(gè)menu-ajax-script.php,它“重新加載”你網(wǎng)頁的一部分。此腳本正常工作,因此您不需要對(duì)其進(jìn)行調(diào)試。但是,在調(diào)試會(huì)話期間仍會(huì)請(qǐng)求此腳本。要忽略與此腳本的傳入連接,請(qǐng)將menu-ajax-script.php腳本添加到跳過的路徑列表中。

準(zhǔn)備調(diào)試引擎

在開始調(diào)試之前,請(qǐng)確保您已經(jīng)正確安裝并配置了調(diào)試引擎。IntelliJ IDEA支持使用兩種最流行的工具進(jìn)行調(diào)試: Xdebug和Zend Debugger。但是這些工具不能同時(shí)使用,因?yàn)樗鼈兿嗷ヅ懦?。要避免此問題,您需要更新php.ini 文件中的相應(yīng)部分,如配置Xdebug配置Zend調(diào)試器中所述。

要在編輯器中打開活動(dòng)的php.ini文件:

  1. 在“設(shè)置/首選項(xiàng)”對(duì)話框(Ctrl+Alt+S)中,單擊“語言和框架”下的“PHP”。
  2. 在打開的PHP頁面上,單擊“CLI解釋器”字段旁邊的 browseButton
  3. 在打開的“CLI解釋器”對(duì)話框中,“配置文件”只讀字段顯示活動(dòng)php.ini文件的路徑。單擊“在編輯器中打開”。

設(shè)置斷點(diǎn)

斷點(diǎn)是用于在調(diào)試會(huì)話期間觸發(fā)操作的源代碼標(biāo)記。通常,設(shè)置斷點(diǎn)的目的是暫停程序執(zhí)行以允許您檢查程序數(shù)據(jù)。但是,IntelliJ IDEA可以使用斷點(diǎn)作為各種不同操作的觸發(fā)器??梢栽谡{(diào)試過程中隨時(shí)設(shè)置斷點(diǎn)。您的斷點(diǎn)不會(huì)直接影響源文件,但斷點(diǎn)及其設(shè)置將與IntelliJ IDEA項(xiàng)目一起保存,以便您可以在調(diào)試會(huì)話中重復(fù)使用它們。

  1. 將插入符號(hào)放在源代碼的所需行上。
    斷點(diǎn)可以在php,html和其他類型的文件中的PHP上下文中設(shè)置。行斷點(diǎn)只能在可執(zhí)行行上設(shè)置,而不能在注釋,聲明或空行上設(shè)置。
  2. 執(zhí)行以下操作之一:
    • 在要切換斷點(diǎn)的行上單擊左側(cè)裝訂線區(qū)域。
    • 在主菜單上,選擇:運(yùn)行|切換行斷點(diǎn)。
    • 按下Ctrl+F8。

創(chuàng)建PHP Web頁面類型的調(diào)試配置

  1. 通過執(zhí)行以下操作之一來打開“運(yùn)行/調(diào)試配置”對(duì)話框:
    • 在主菜單上,選擇:運(yùn)行|編輯配置。
    • 按下Shift+Alt+F10,然后按0顯示“編輯配置”對(duì)話框或從彈出窗口中選擇配置并按下F4。
  2. 單擊工具欄上的 圖標(biāo)一般添加svg或按下Insert。從下拉列表中,選擇PHP Web頁面配置類型。將打開“PHP Web頁面”對(duì)話框。
  3. 指定配置名稱。
  4. 從“服務(wù)器”下拉列表中選擇適用的調(diào)試服務(wù)器配置,或單擊“瀏覽( browseButton.png)”。并在“服務(wù)器”對(duì)話框中定義調(diào)試服務(wù)器配置,該對(duì)話框?qū)凑談?chuàng)建PHP調(diào)試服務(wù)器配置中的說明打開。
  5. 在“啟用URL”文本框中,鍵入實(shí)現(xiàn)應(yīng)用程序起始頁的文件的服務(wù)器路徑。指定相對(duì)于服務(wù)器配置根目錄的路徑(服務(wù)器配置根目錄是可通過服務(wù)器配置訪問的本地或遠(yuǎn)程服務(wù)器上文件樹中的最高文件夾。對(duì)于就地服務(wù)器,它是項(xiàng)目根目錄。)。下面的只讀字段顯示了應(yīng)用程序起始頁面的URL地址。URL地址在您鍵入時(shí)動(dòng)態(tài)組合。
  6. 指定要在其中打開應(yīng)用程序的瀏覽器。從“瀏覽器”下拉列表中選擇已配置的瀏覽器, 或單擊“瀏覽( browseButton)”并在打開的“Web瀏覽器”對(duì)話框中指定其他瀏覽器。

啟動(dòng)調(diào)試會(huì)話并檢查已暫停的程序

  1. 要開始調(diào)試,請(qǐng)單擊工具欄上的“調(diào)試( 圖標(biāo)動(dòng)作startDebugger svg)”按鈕。
  2. 一旦調(diào)試器在到達(dá)第一個(gè)斷點(diǎn)時(shí)暫停,請(qǐng)通過分析幀來檢查應(yīng)用程序。框架對(duì)應(yīng)于一個(gè)激活的方法或函數(shù)調(diào)用,并且存儲(chǔ)被調(diào)用的方法或函數(shù)的局部變量,參數(shù),以及啟用表達(dá)式求值的代碼上下文。所有當(dāng)前活動(dòng)的框架都顯示在“調(diào)試”工具窗口的“框架”窗格中,您可以在其中切換它們并在“變量和監(jiān)視”窗格中分析存儲(chǔ)在其中的信息。
  3. 繼續(xù)運(yùn)行該程序并在其再次暫停時(shí)檢查其框架。
    • 要手動(dòng)控制程序執(zhí)行,請(qǐng)使用“運(yùn)行”菜單或工具欄按鈕下的命令逐步執(zhí)行代碼: Step Into(F7),Step Out(Shift+F8), Step Over(F8)等。
    • 要使程序自動(dòng)運(yùn)行到下一個(gè)斷點(diǎn),要恢復(fù)會(huì)話請(qǐng)選擇:運(yùn)行|恢復(fù)程序,或按下F9。

指定要跳過請(qǐng)求的腳本

當(dāng)您的應(yīng)用程序包含使用AJAX的腳本時(shí),此方法很有用。假設(shè)你有一個(gè)menu-ajax-script.php,它“重新加載”你網(wǎng)頁的一部分。此腳本正常工作,因此您無需進(jìn)行調(diào)試。但是,在調(diào)試會(huì)話過程中仍會(huì)請(qǐng)求此腳本。要忽略與此腳本的傳入連接,請(qǐng)將menu-ajax-script.php腳本添加到跳過的路徑列表中。

  1. 在“設(shè)置/首選項(xiàng)”對(duì)話框(Ctrl+Alt+S)中,導(dǎo)航到:語言和框架|PHP,并單擊“調(diào)試”下的“跳過路徑”。
  2. 在打開的“跳過路徑”頁面上,配置腳本和文件夾的“忽略列表”,如果IntelliJ IDEA接收到傳入連接,則不會(huì)調(diào)用具有腳本的文件夾。
    • 要向列表中添加新條目,請(qǐng)單擊“添加( 圖標(biāo)一般添加svg)”按鈕或按下Alt+Insert。然后單擊“瀏覽( browseButton)” 并在打開的對(duì)話框中選擇要跳過連接的文件或文件夾。
    • 要從列表中刪除條目,請(qǐng)選擇該條目并單擊“刪除( 圖標(biāo)一般刪除svg)”按鈕或按下Alt+Delete。該腳本現(xiàn)在將在收到請(qǐng)求后執(zhí)行。
  3. 要讓IntelliJ IDEA在每次收到要跳過的腳本的請(qǐng)求時(shí)通知您,請(qǐng)選中“通知跳過的路徑”復(fù)選框。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)