IntelliJ IDEA:調(diào)試PHP HTTP請求

2019-03-22 16:28 更新

調(diào)試PHP HTTP請求

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

除了調(diào)試整個應(yīng)用程序外,您還可以調(diào)試單獨的HTTP請求。當(dāng)您真正對通過多個步驟訪問的特定頁面感興趣時,這很有幫助,但出于這個或那個原因,您無法將此頁面指定為調(diào)試的起始頁面,例如,因為你需要帶著特定的數(shù)據(jù)“來到”這個頁面。

通過PHP HTTP請求運行配置,支持在IntelliJ IDEA中調(diào)試PHP HTTP請求。根據(jù)配置設(shè)置,IntelliJ IDEA組成要運行的請求。

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

在開始調(diào)試之前,請確保您已正確安裝和配置調(diào)試引擎。IntelliJ IDEA支持使用兩種最流行的工具進(jìn)行調(diào)試: Xdebug和Zend Debugger。這些工具不能同時使用,因為它們相互阻擋。要避免此問題,您需要更新php.ini 文件中的相應(yīng)部分,如配置Xdebug配置Zend調(diào)試器中所述。

要在編輯器中打開活動的php.ini文件,請執(zhí)行以下操作:

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

設(shè)置斷點

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

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

創(chuàng)建PHP HTTP請求類型的調(diào)試配置

IntelliJ IDEA將此配置中指定的設(shè)置粘貼到PHP HTTP請求中。

  1. 通過執(zhí)行以下操作之一打開“運行/調(diào)試配置”對話框:
    • 在主菜單上,選擇:運行|編輯配置。
    • 按下Shift+Alt+F10,然后按0顯示“編輯配置”對話框或從彈出窗口中選擇配置并按下F4。
  2. 單擊工具欄上的 圖標(biāo)一般添加svg,或按下Insert。從下拉列表中,選擇PHP HTTP請求配置類型。將打開“PHP HTTP請求”對話框。
  3. 指定配置名稱。
  4. 在“服務(wù)器”下拉列表中,指定調(diào)試服務(wù)器配置以與執(zhí)行應(yīng)用程序的Web服務(wù)器進(jìn)行交互。選擇一個現(xiàn)有配置,或單擊“瀏覽( browseButton.png)”并在“服務(wù)器”對話框中定義調(diào)試服務(wù)器配置,該對話框?qū)凑談?chuàng)建PHP調(diào)試服務(wù)器配置中的說明打開。
  5. 在URL文本框中,填寫要調(diào)試的請求的host元素。鍵入相對于調(diào)試服務(wù)器配置中指定的主機(jī)的路徑。在您鍵入時,IntelliJ IDEA即時組成URL地址并將其顯示在文本框下方。
  6. 指定是否要將任何數(shù)據(jù)帶到目標(biāo)頁面。從“請求方法”下拉列表中,選擇相關(guān)的請求類型:
    • 要在不帶任何數(shù)據(jù)的情況下訪問頁面,請選擇GET。
    • 要訪問包含變量中保存的某些數(shù)據(jù)的頁面,請選擇POST 并在“請求正文”文本框中鍵入相關(guān)變量。
      默認(rèn)情況下,如果未明確指定,則在請求編碼中使用項目編碼,例如:
      header('Content-type: text/html;charset=utf-8');
      該項目編碼是在“文件編碼”頁面指定的,該頁面位于"設(shè)置/首選項" 對話框的 "編輯器" 節(jié)點下。
  7. 在“查詢”文本框中,鍵入請求的查詢字符串。此字符串將附加到?符號后面的請求中。
  8. 準(zhǔn)備好后, 單擊“確定”。

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

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號