首頁  >  文章  >  後端開發  >  php怎麼除錯方法

php怎麼除錯方法

(*-*)浩
(*-*)浩原創
2019-08-01 09:12:207039瀏覽

下面的範例都是基於 Windows 下的 LNMP 環境。

php怎麼除錯方法

透過瀏覽器列印資訊進行偵錯(推薦學習:PHP影片教學

方法

在程式碼中加入echo、var_dump、print_r 和exit,在瀏覽器中查看輸出。

優缺點

優點:

簡單,使用方便,不用安裝插件

對於自己寫的程式碼,或比較熟悉的框架,可以這麼用

缺點:

對於多分支邏輯,需要加很多程式碼或嘗試多次

對於不熟悉的邏輯,無法反映完整的執行流程。

有可能將偵錯語句遺漏在專案中

無法單步執行

#使用Xdebug 進行偵錯

XDebug 是C /S 結構,其中Client 是PHP 中安裝的Xdebug,Server 是IDE 中安裝的插件,使用DBGP 協定通訊。 PHP 執行腳本時,透過 Xdebug 插件向 IDE 發送偵錯訊息,並接收 IDE 發送過來的控制訊號。

需要為 PHP 安裝並開啟 Xdebug,然後設定 IDE 的 Xdebug 插件,讓二者可以通訊。

優缺點

支援單步調試和任意變數值的取得

配置複雜,需要IDE 安裝外掛程式

支援跟瀏覽器的配合,需要請求中攜帶XDEBUG_SESSION_START 參數

Web App 偵錯

對於web 應用,要開啟Xdebug 偵錯模式,必須在瀏覽器傳送的請求中新增額外的標誌。可以在 GET/POST/Cookie 參數中加入 XDEBUG_SESSION_START=session_name,這樣 Xdebug 就明白這個請求需要調試,去連接 IDE。

透過 console 終端進行偵錯(CLI 方式)

#對於非 web 應用,例如定時任務或單元測試,可以直接在控制台進行偵錯。

PhpStorm 中透過 Alt F12 快速鍵開啟命令列終端。但因為 IDE 中只能顯示一個終端,在開啟偵錯後的偵錯終端會覆蓋命令列終端,所以還是單獨開立命令列終端吧(Windows 下可以使用 DOS 視窗或 PowerShell)。

方法及原則

web 應用程式透過 GET/POST/Cookie 參數標誌偵錯請求,而非 web 應用則透過在命令列終端設定環境變數來開啟偵錯。

兩個步驟:

設定環境變數 XDEBUG_CONFIG="idekey=session_name",這個 idekey 需要跟 php.ini 中 Xdebug 部分設定的 idekey 一樣。

在命令列終端機執行腳本。執行時會喚起 IDE 的 debug 終端,可以單步調試,輸出結果即時顯示在命令列終端。

更多PHP相關技術文章,請造訪PHP圖文教學欄位進行學習!

以上是php怎麼除錯方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn