日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

在 NetBeans IDE 中调试 PHP 源代码

發布時間:2025/3/17 php 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在 NetBeans IDE 中调试 PHP 源代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

準備工作

要在適用于 PHP 的 NetBeans IDE 中成功調試 PHP 應用程序,您需要為進行 PHP 開發安裝并配置?PHP 引擎、Apache 本地 Web 服務器和 XDebug 調試器。

啟用 XDebug

安裝 XDebug 后,您必須在 PHP 引擎中啟用它。

啟用 XDebug:

  • 找到 PHP 引擎所使用的?php.ini?文件。如果運行?phpinfo(),此文件將顯示在第一個表中的 "Loaded Configuration File"(已裝入的配置文件)表頭下。
  • 在裝入的?php.ini?中取消注釋或添加以下行:
  • zend_extension_ts="<path to the php folder>/php_xdebug-2.0.2-5.2.5.dll"xdebug.remote_enable=1xdebug.remote_host=127.0.0.1xdebug.remote_port=9000xdebug.remote_handler=dbgp 有關如何配置 XDebug 的詳細信息,請單擊此處。
    注意:請確保您指定的路徑與安裝過程中所確定的相應文件的位置匹配。

    ?

    ?

    如果使用 XAMPP 包,則需要禁用 Zend 優化器,因為它會阻止 XDebug。找到相關行,然后刪除它們或將其標記為注釋。
    • /xampplite/php/php.ini
    • /xampplite/apache/bin/php.in

    注意:如果使用 XAMPP Lite,則需要對以下兩個?php.ini?文件進行上述更改:

    如何使用 XDebug 進行 PHP 調試

    如果在?php.ini?文件中啟用了 XDebug,XDebug 便可以隨時暫停和恢復 PHP 程序執行。當程序執行暫停時,XDebug 可以檢索有關當前程序狀態的信息,例如讀取程序變量的值。實際上,此過程可以用下列工作流來表示:

    • 用戶在 PHP 源代碼執行應該暫停的行上設置一個斷點。
    • 當到達此行時,用戶按 F7 和 F8 鍵逐行執行腳本,并檢查變量的值。

    調試器窗口

    啟動調試會話時,將在主編輯器窗口下打開一組調試器窗口。要添加新窗口,請選擇“窗口”>“調試”。可以使用下列窗口:

    • “局部變量”窗口,顯示已初始化的變量及其類型和值的列表。
    • “監視”窗口,顯示用戶定義的表達式及其值的列表。
    • “調用棧”窗口,按倒序顯示被調用函數的列表。最后調用的函數將顯示在列表頂部。
    • “斷點”窗口,顯示設置了斷點的行所在的文件以及行號的列表。
    • “會話”窗口,顯示當前活動調試會話的列表。
    • “線程”窗口
    • “源”窗口
    • “HTTP 客戶端監視器”窗口

    調試會話

    以下過程是典型調試會話的工作流。

    運行調試會話:

  • 啟動 IDE,運行項目,然后打開包含要調試的源代碼的文件。
  • 將光標置于某一行上,您希望在該行之前自動執行 PHP 腳本。
  • 要設置斷點,請按 Ctrl-F8 組合鍵或選擇“調試”>“開啟/關閉行斷點”。
  • 在“項目”窗口中,導航至當前項目節點,單擊鼠標右鍵,然后從彈出式菜單中選擇“調試”。IDE 將打開調試器窗口并在調試器中運行該項目,直至到達斷點為止。?
    注意:如果當前項目設置為主項目,則可以選擇“調試”>“調試主項目”,按 Ctrl-F5 組合鍵或單擊?。
  • 切換至“局部變量”窗口。該窗口顯示當前函數中已初始化的所有變量及其類型和值。
  • 要查看該函數外部的變量值,請將光標置于此變量出現的某個位置上。工具提示會顯示變量值。
  • 要逐行(包括所有被調用函數中的行)執行程序,請按 F7 鍵或選擇“調試”>“步入”,然后在“局部變量”窗口中監視這些變量值的更改。
  • 要通過監視表達式的更改來檢查程序邏輯,請定義一個新監視:
  • 要打開“監視”窗口,請選擇“窗口”>“調試”>“監視”,或按 Ctrl-Shift-2 組合鍵。將打開“監視”窗口。
  • 在“監視”窗口中的任意位置單擊鼠標右鍵,然后從彈出式菜單中選擇“新建監視”。將打開“新建監視”窗口。
  • 輸入監視表達式,然后單擊“確定”。 現在,您便可以在調試過程中進行其他檢查。
  • 要取消對某個函數中代碼的逐行執行操作并跳至該函數調用后的下一行,請按 Ctrl-F7 組合鍵或選擇“調試”>“步出”。
  • 要跳過對某個函數中代碼的逐行執行操作,獲取該函數返回的值,并跳至該函數調用后的下一行,請按 F8 鍵或選擇“調試”>“步過”。
  • 要暫停調試會話,請選擇“調試”>“暫停”。
  • 要繼續調試會話,請選擇“調試”>“繼續”或按?。
  • 要取消調試會話,請按?。
  • 在程序結束時,調試器窗口會關閉。

  • 樣例調試會話

    此部分說明了一個標準的調試會話。

  • 使用以下參數創建新的 PHP 項目:
    • 項目類型 - PHP 應用程序
    • 源位置 -?htdocs?文件夾的缺省位置
    • 運行配置 - 本地 Web 站點
    有關設置 PHP 項目的更多詳細信息,請參見設置 PHP 項目文檔。
  • 在項目創建完成后,將光標置于“源文件”節點上,從彈出式菜單中選擇“屬性”,然后打開“調試”窗口。選中“調試服務器端 PHP”復選框。
  • 要在會話過程中使用熱鍵,請將光標置于項目節點上,然后從彈出式菜單中選擇“設置為主項目”。
  • 在?index.php?文件中,輸入以下代碼: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>NetBeans PHP debugging sample</title></head><body><?php $m=5; $n=10; $sum_of_factorials = calculate_sum_of_factorials ($m, $n); echo "The sum of factorials of the entered integers is " . $sum_of_factorials; function calculate_sum_of_factorials ($argument1, $argument2) { $factorial1 = calculate_factorial ($argument1); $factorial2 = calculate_factorial ($argument2); $result = calculate_sum ($factorial1, $factorial2); return $result; } function calculate_factorial ($argument) { $factorial_result = 1; for ($i=1; $i<=$argument; $i++) { $factorial_result = $factorial_result*$i; } return $factorial_result; } function calculate_sum ($argument1, $argument2) { return $argument1 + $argument2; }?> </body></html> 該代碼包含三個函數:
    • calculate_factorial ()?函數
    • calcualte_sum ()?函數
    • calculate_sum_of_factorials ()?函數,該函數調用?calculate_factorial ()?函數兩次,再調用?calcualte_sum ()?函數一次,然后返回計算的階乘和。
  • 在 PHP 塊的開頭設置一個斷點 (Ctrl-F8): <?php
  • 要啟動調試,請單擊?。調試器將在斷點處停止。
  • 按 F7 鍵三次。調試器將在調用函數?calculate_sum_of_factorials ()?的行上停止。“局部變量”窗口會顯示變量?$m?和?$n?以及它們的值:
  • 要步入函數?calculate_sum_of_factorials (),請按 F7 鍵。調試器開始執行函數?calculate_sum_of_factorials ()?中的代碼,然后在函數calculate_factorial ()?的調用處停止。?
    ?
    現在,“局部變量”窗口將顯示函數?calculate_sum_of_factorials ()?中聲明的局部變量?$argument1?和?$argument2。?
  • 按 F7 鍵。調試器開始執行函數?calculate_factorial ()?中的代碼。“調用棧”窗口將按倒序顯示函數的調用棧,最后調用的函數位于列表頂部:?
  • 按 F7 鍵步入循環。可在“局部變量”窗口中查看變量值。?
  • 如果您確定代碼運行正常,請按 Ctrl-F7 組合鍵取消函數執行。程序將在調用函數?calculate_factorial ()?后返回至下一行。?
    注意:您也可以按 F7 鍵,直到程序執行完函數?calculate_factorial ()?為止。您也會在調用該函數后返回至下一行。?
  • 由于您剛檢查了函數?calculate_factorial (),并且確定其運行正常,因此可以跳過對該函數的再次執行操作(“步過”)。要步過該函數,請按 F8 鍵。程序將在函數calculate_sum ()?的調用處停止。?
  • 要步入函數?calculate_sum (),請按 F7 鍵。
  • 要步過該函數,請按 F8 鍵。對于任何一種情況,調試器都會在函數?calculate_sum_of_factorials ()?的最后一行停止。
  • 按 F7 鍵。調試器將移到?echo?語句所在的行上。
  • 按 F7 鍵,直到調試器退出程序為止。將打開瀏覽器窗口并顯示程序執行的結果:
  • 使用其他監視

    可以定義其他監視表達式來跟蹤程序的執行。這有助于捕獲錯誤。

  • 按如下所示更新代碼(將加號替換為減號): function calculate_sum ($argument1, $argument2) { return $argument1 - argument2; } 假定運算符的改變是由于拼寫錯誤造成的,而實際上您需要計算和。
  • 選擇“調試”>“新建監視”或按 Ctrl-Shift-F6 組合鍵。將打開“新建監視”窗口。
  • 輸入以下表達式,然后單擊“確定”。 $factorial1+$factorial2 “監視”窗口中將顯示新表達式。
  • 運行調試會話。當調試器在以下行停止時 return $result; 將“監視”窗口中表達式的值與“局部變量”窗口中 $result 的值進行比較。它們應該相同,但在此示例中不同。?
  • 此示例非常簡單,它為您提供了使用監視的一些基本概念。

    PHP 和 HTML 混合用例

    您可以調試同時包含 PHP 塊和 HTML 塊的代碼。在樣例調試會話部分的示例中,對值進行了固定編碼。現在,將通過用于輸入值的 HTML 輸入表單來擴展該代碼。

  • 在 <?php ?> 塊的上方添加以下 HTML 代碼: <form action="index.php" method="POST"> Enter the first integer, please:
    <input type="text" name="first_integer"/><br/>
    Enter the second integer, please:
    <input type="text" name="second_integer"/><br/>
    <input type="submit" name="enter" value="Enter"/>
    </form>

    有關詳細信息,請參見?HTML 輸入表單。

  • 將 <?php ?> 塊頂部的以下行: $m=5; $n=10; $sum_of_factorials = calculate_sum_of_factorials ($m, $n); echo "The sum of factorials of the entered integers is " . $sum_of_factorials; 替換為以下代碼: if (array_key_exists ("first_integer", $_POST) &&
    array_key_exists ("second_integer", $_POST)) {$result = calculate_sum_of_factorials ($_POST["first_integer"], $_POST["second_integer"]);
    echo "Sum of factorials is " . $sum_of_factorials;
    }
  • 在 <?php ?> 塊的開頭設置一個斷點,然后啟動調試會話。
  • 按 F7 鍵。調試器將步入程序。同時,會打開瀏覽器窗口,但不顯示輸入表單。這是調試器的正確行為,因為它必須首先通過 Web 頁的整個源代碼,然后才能顯示該頁面。實際上,這意味著調試器通過了兩次代碼。第一次是調試器處理代碼以顯示 HTML 輸入表單。第二次是調試器逐步執行 PHP 代碼。
  • 按 F7 鍵,直到調試器到達程序末尾并且打開輸入表單為止。
  • 填寫該表單,然后單擊 Enter 鍵。將繼續調試會話(如樣例調試會話部分中所述)。
  • 總結

    以上是生活随笔為你收集整理的在 NetBeans IDE 中调试 PHP 源代码的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。