高性能 PHP7 * 調試和分析

每個程序開發者在實際開發過程中都會遇到種種問題,但卻不知道具體發生了什麼問題,也不知道這些問題爲何會發生。大多數時候可能是邏輯或數據的問題,這些問題通常難以解決,而調試是一種找出症 結所在並解決它們的手段。同樣地,我們經常需要弄清楚一個腳本程序消耗了多少資源,包括內存消耗、 CPU以及執行時間。

本章主要包括以下內容:

  • Xdebug
  • 使用Sublime Text 3調試
  • 使用Eclipse調試
  • 使用Xdebug
  • 分析 PHP DebugBar

Xdebug

Xdebug是一種PHP擴展,爲PHP腳本提供了調試和分析信息。

  • 官方 xdebug 下載地址,需要仔細分析和選擇要下載的對應版本,否則無法調試。
  • 可以在 https://xdebug.org/wizard.php 表單中輸入複製的 phpinfo() 內容從而找到對應版本。
  • 下載對於版本的 xdebug-xxx.dll 到 php 擴展文件目錄,如 D:\xampp\php\ext。
  • 編輯 php.ini :zend_extension = D:\xampp\php\ext\xdebug-xxx.dll。
  • 查看 phpinfo() 檢查 Xdebug 是否啓動。

使用Sublime Text調試

Sublime Text 編輯器中有一種插件可以用來調試 PHP 代碼。但需要安裝 Sublime Text 的 xdebug 插件。略。

使用Eclipse調試

Eclipse 幾乎支持所有的主流編程語言,包括 PHP。使用 Eclipse 調試需要開啓配置。略。

使用Xdebug分析

通過分析,我們能獲取應用中每個運行腳本和任務的開銷信息。分析可以幫助我們瞭解一項任務花費 了多長時間,據此可以優化代碼,減少時間開銷。

Xdebug提供了分析器,但分析器默認是關閉的。打開並編輯配置文件,輸入下面兩行配置,即可開啓分析器:

;開啓分析器
xdebug.profiler_enable = On
;指定分析器存放輸出文件的目錄
;xdebug.profiler_output_dir = "D:\xdebug\profiler"

在瀏覽器中打開應用,地址中加上 ?XDEBUG_PROFILE=on 參數,如:http://127.0.0.1/test?XDEBUG_PROFILE=on,當頁面加載完畢後,在我們指定的目錄中將會生成一個cachegrind文件。用文本編輯器打開它會看到一 些文本數據。

cachegrind文件可以用許多工具打開。在Windows上可以用WinCacheGrind。對於Mac則 可以使用qcachegrind。

PHP DebugBar

PHP DebugBar 是另一款性能很好的工具,在它的頁面底部有一個美觀、全面的調試信息條。該信息條能顯示爲了調試而添加的自定義消息以及完整的請求信息,包括$_COOKIE、$_SERVER、$_POST、 $_GET數組等。除此之外,PHP DebugBar還能顯示出現的異常詳情、數據庫查詢詳情。而且,它能顯示腳本佔用的內存和頁面加載的時長。

完整討論PHP DebugBar在本書中是不現實的,所以這裏只進行一個簡單的介紹。有許多 關於PHP DebugBar的很棒的文檔提供了全面的細節信息和例子,獲取地址是 http://phpdebugbar. com/docs/readme.html。

參考:《高性能PHP7,Learning PHP7 High Performance》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章