PHP Debug實戰技術

2021-05-23 10:55:31 字數 1526 閱讀 3266

老鳥有一本《php除錯手冊》在網路上風行,不管老鳥還是嫩鳥,這篇文章的作用是介紹一些簡單易行的php除錯實戰技術,希望大家能提出寶貴意見,共同進步。

(一)列印輸出

使用echo/print/print_r/var_dump+exit/die在制定位置輸出除錯結果,並終止程式執行。

這招在php的ajax請求中不太好使,如果ajax是get方式的請求,我們可以在瀏覽器中輸入ajax的url來輸出我們的除錯資訊,但如果是post方式,改方法就有點力不從心了。

(二)開啟php的錯誤提示功能

1.將php.ini檔案中的display_errors設定為1或on,然後重啟apache使之生效。

2.在php程式中,使用set_ini('display_errors', 'on')函式來動態顯示程式的錯誤資訊。

在程式中動態顯示錯誤的設定必須保證在錯誤發生之前執行,所以最好是把它放在程式入口的地方。

(三)檢視apache錯誤日誌

1.在linux環境中,可以使用

tail /your/path/to/error_file

來檢視apache中發生的最新的錯誤日誌。

2.windows下,直接用記事本開啟apache的錯誤日誌檔案檢視就可以了。

(四)xdebug/zenddebug

xdebug可以實現遠端除錯功能,它主要有兩大特色:

1.輸出資訊格式化。

它重寫了系統的var_dump函式,可以讓輸出的資料更加工整、美觀,方便檢視。唯一的缺點是,當顯示的資料量很大的時候,它會隱藏未能現實的部分。

2.遠端除錯功能。

xdebug工作過程主要由兩部分組成:xdebug server, xdebug client。看上去,它有點像寄生在apache中的後門程式。它的工作原理如下,

xdebug client-----------(帶xdebug session資訊的遠端頁面請求)----------->xdebug server(可以配置響應請求的主機和埠)

xdebug client<---------(連線資訊確認,並返回請求頁面資料)------------------xdebug server

xdebug client-----------(傳送breakpoint、addwatch等除錯命令)---------->xdebug server

xdebug client<---------(接收server返回的php執行狀態資訊)------------------xdebug server

xdebug client-----------(帶xdebug session資訊的遠端頁面請求終止)-------->xdebug server(斷開連線)

在phpeclipse中使用xdebug:

1.安裝xdebug擴充套件,詳細步驟請參考其他網路資源。

2.在phpeclipse中設定xdebug

(1)指定使用xdebug偵錯程式

(2)指定php的可執行檔案路徑

(3)設定遠端主機及埠

(4)設定請求站點和用於除錯的瀏覽器

(5)按f11開始除錯吧。

PHP Debug實戰技術

老鳥有一本 php除錯手冊 在網路上風行,不管老鳥還是嫩鳥,這篇文章的作用是介紹一些簡單易行的php除錯實戰技術,希望大家能提出寶貴意見,共同進步。一 列印輸出 使用echo print print r var dump exit die在制定位置輸出除錯結果,並終止程式執行。這招在php的ajax...

實戰技術產品經理

需求端工作 需求市場調研 使用者畫像等,可以增長業務邏輯水平。研發端工作 需求文件製作 開發跟進等,可以增長系統熟練水平,並對溝通表達水平有一定鍛鍊。運營端工作 包括bug處理 活動策劃等,可以增長各項能力。專案端工作 比如上下級溝通 成果匯報 資源爭取,可以增長溝通表達水平。需求開始,我們的商業思...

Oracle SQL語句優化技術 解讀實戰技巧

在from後面的表中的列表順序會對sql執行效能影響,在沒有索引及oracle沒有對錶進行統計分析的情況下oracle會按表出現的順序進行鏈結。一.sql語言的使用 1.in 操作符 用in寫出來的sql的優點是比較容易寫及清晰易懂,這比較適合現代軟體開發的風格。但是用in的sql效能總是比較低的,...