一、背景
項目即將上線,想通過一些工具來分析代碼的穩定性和效率,想起在上個團隊時使用過的xhprof擴展;因為換了新電腦,所以需要重新編譯此擴展,現將安裝與實際排查過程完整記錄下來,方便自己回顧和幫助更多的讀者。
XHProf 是 FaceBook 開發的一個函數級別的 PHP 分層分析器。
數據收集部分是一個基于 C 的 PHP 擴展,分析報告是一系列基于 PHP 的 HTML 導航頁面。
XHProf 能統計每個函數的調用次數、內存使用、CPU占用等多項重要的數據。
并且 XHProf 還能比較兩個統計樣本,或從多個數據樣本中匯總結果。
XHProf 是分析 PHP 程序執行效率的利器,能讓我們得到更底層的的分析數據。
下面話不多說了,來一起看看詳細的介紹吧
二、操作步驟
三、安裝
xhprof擴展PHP并不自帶,需要筆者去單獨安裝它,安裝之后才能使用,筆者這里采用源碼安裝方式,安裝過程如下
3.1 下載源碼
xhprof在PHP的PECL官方上面已經比較老了,筆者的PHP版本為PHP7.1因此,需要在GitHub上下載xhprof上比較新的源碼,參考命令如下
git clone https://github.com/longxinH/xhprof
3.2 檢測環境
進入編譯的文件夾,參考命令
cd xhprof/extension/
現在筆者需要編譯一下源碼,在編譯之前可以使用phpze來探測PHP的環境,參考命令如下:
phpize
返回結果如下
Configuring for:
PHP Api Version: 20160303
Zend Module Api No: 20160303
Zend Extension Api No: 320160303
3.3 編譯安裝
生成 Makefile,為下一步的編譯做準備
./configure
返回結果如下
creating libtool
appending configuration tag "CXX" to libtool
configure: creating ./config.status
config.status: creating config.h
config.status: config.h is unchanged
開始編譯,并進行安裝
make && make install
返回結果如下
Build complete.
Don't forget to run 'make test'.Installing shared extensions: /usr/local/Cellar/php@7.1/7.1.19/pecl/20160303/
從返回信息中可以看到已經安裝完成,并顯示了擴展文件存放的位置
四、配置
在編譯安裝源碼之后,筆者還需要對PHP的配置文件夾以及xhprof的進行一些簡單的配置,操作過程如下所示
4.1 找出配置文件位置
要修改PHP的配置首先需要知道配置文件在什么位置,這里可以通過PHP的命令來查看配置文件存放位置,參考命令如下:
新聞熱點
疑難解答