首頁  >  文章  >  後端開發  >  如何調試php網站

如何調試php網站

(*-*)浩
(*-*)浩原創
2019-09-10 15:25:293783瀏覽

常用偵錯方式

如何調試php網站

#透過瀏覽器列印資訊進行偵錯

方法

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

優缺點

優點:

簡單,使用方便,不用安裝外掛程式(建議學習:PHP程式設計從入門到精通

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

缺點:

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

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

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

無法單步執行

#偵錯時,為了格式化輸出變量,往往需要在專案中實作自己的 dump( ) 函數。利用 Composer,可以全域安裝 symfony/var-dumper 包中的 dump() 函數,使所有項目都可以使用,而無需改動項目。

使用Xdebug 進行調試

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

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

優缺點

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

配置複雜,需要IDE 安裝插件

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

透過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中文網其他相關文章!

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