PHP調(diào)試及性能分析工具Xdebug詳解
程序開發(fā)過程中,一般用得最多的調(diào)試方法就是用echo、print_r()、var_dump()、printf()等將語句打印出來。對PHP腳本的執(zhí)行效率,通常是腳本執(zhí)行時(shí)間。對數(shù)據(jù)庫SQL的效率,通常是數(shù)據(jù)庫Query時(shí)間,但這樣并不能真正定位和分析腳本執(zhí)行和數(shù)據(jù)庫查詢的瓶頸所在?對此,有一個(gè)叫Xdebug(www.xdebug.org)的PHP程序調(diào)試器(即一個(gè)Debug工具),可以用來跟蹤,調(diào)試和分析PHP程序的運(yùn)行狀況。
一、以windows平臺對此模塊的安裝做簡單的介紹:
1. 下載PHP的XDebug擴(kuò)展,網(wǎng)址:http://xdebug.org/(這個(gè)根據(jù)你目前使用的PHP版本而定);
2. 將下載的模塊(php_xdebug-2.0.5-5.2.dll)放到PHP的安裝的 ext 目錄下;
3. 配置php.ini文件,將以下幾行添加
**************************************
extension=php_xdebug-2.0.5-5.2.dll
[Xdebug]
xdebug.profiler_enable=on
xdebug.trace_output_dir="E:/Projects/xdebug" #放置Xdebug輸出的數(shù)據(jù)文件的目錄
xdebug.profiler_output_dir="E:/Projects/xdebug"
********************************************************
4. 重啟Apache服務(wù)器。完成?。?!
5. <?php echo phpinfo();?>如果輸出的內(nèi)容中有看到xdebug,說明安裝配置成功。
6. 在Windows平臺下,可以用客戶端(Windows):WinCacheGrind WinCacheGrind 這個(gè)軟件來打開這些文件??梢愿庇^地顯示其中內(nèi)容:
二、以Linux平臺作簡單的介紹:
1. 在Linux下編譯安裝XDebug
[root@localhost src]# tar -xvf xdebug-2.0.5
[root@localhost xdebug-2.0.5]# /usr/local/php/bin/phpize
[root@localhost xdebug-2.0.5]# ./configure --enable-xdebug --with-php-config=/usr/locar/php/bin/php-config
[root@localhost xdebug-2.0.5]# make
可以將生成的 xdebug.so 拷貝到 extension_dir 所指向的路徑目錄。
2. 配置
vi /usr/local/php/lib/php.ini 修改php.ini,去除PHP加速模塊,增加以下配置信息支持XDebug擴(kuò)展
#extension=vld.so //是輸出OPCODES的模塊
extension=xdebug.so
[Xdebug]
xdebug.profiler_enable=on
xdebug.trace_output_dir="/tmp/xdebug"
xdebug.profiler_output_dir="/tmp/xdebug"
xdebug.profile_output_name="script"
注:也可使用 [root@localhost xdebug-2.0.5]# /usr/local/php/bin/php -m 列出所有的擴(kuò)展模塊
3. 重啟WEB服務(wù)器
[root@localhost xdebug-2.0.5]# service httpd restart OK!!!
Xdebug工具會將跟蹤的錯(cuò)誤信息以日記的形式寫入到輸出的數(shù)據(jù)文件中,可以文件去查看,但為了更直觀,還有一個(gè)圖形界面的工具來分析跟蹤的日記記錄。WinCacheGrind (wincachegrind.souceforge.net)此軟件直接安裝就行,從圖形窗口中可以將整個(gè)程序的結(jié)構(gòu),每個(gè)函數(shù)被調(diào)用的次數(shù),執(zhí)行時(shí)間都一目了然。很專業(yè)很方便!??!
總結(jié):Xdebug可以跟蹤程序的運(yùn)行,通過對日志文件的分析,我們可以迅速找到程序運(yùn)行的瓶頸所在,提高程序效率,從而提高整個(gè)系統(tǒng)的性能。
以上這篇PHP調(diào)試及性能分析工具Xdebug詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Sublime里直接運(yùn)行PHP配置方法
- PHPStorm+Xdebug進(jìn)行emote Debug時(shí)無法進(jìn)入斷點(diǎn)問題排查
- PhpStorm2020 + phpstudyV8 +XDebug的教程詳解
- PhpStorm配置Xdebug調(diào)試的方法步驟
- 詳解關(guān)于php的xdebug配置(編輯器vscode)
- Phpstorm+Xdebug斷點(diǎn)調(diào)試PHP的方法
- Mac系統(tǒng)下安裝PHP Xdebug
- 使用PHPStorm+XDebug搭建單步調(diào)試環(huán)境
- PHP 7安裝調(diào)試工具Xdebug擴(kuò)展的方法教程
- PHPStorm+XDebug進(jìn)行調(diào)試圖文教程
- 圖文詳解phpstorm配置Xdebug進(jìn)行調(diào)試PHP教程
- 使用phpstorm和xdebug實(shí)現(xiàn)遠(yuǎn)程調(diào)試的方法
- 如何使用SublimeText3配置 PHP IDE環(huán)境
相關(guān)文章
在Mac OS上自行編譯安裝Apache服務(wù)器和PHP解釋器
這篇文章主要介紹了在Mac OS上編譯安裝Apache服務(wù)器和PHP解釋器的教程,盡管Mac上自帶Apache和PHP,但由于版本或者其他原因很多情況下還是自己配置更為舒心,需要的朋友可以參考下2015-12-12Smarty緩存機(jī)制實(shí)例詳解【三種緩存方式】
這篇文章主要介紹了Smarty緩存機(jī)制,結(jié)合實(shí)例形式詳細(xì)分析了Smarty全局緩存、部分緩存及局部緩存三種緩存實(shí)現(xiàn)方式,并附帶說明了Smarty清除緩存的實(shí)現(xiàn)方式,需要的朋友可以參考下2019-07-07PHP 枚舉類型的管理與設(shè)計(jì)知識點(diǎn)總結(jié)
在本篇文章里小編給大家整理的是關(guān)于PHP 枚舉類型的管理與設(shè)計(jì)知識點(diǎn)總結(jié),需要的朋友們可以學(xué)習(xí)參考下。2020-02-02PHP基于自增數(shù)據(jù)如何生成不重復(fù)的隨機(jī)數(shù)示例
這篇文章主要給大家介紹了利用PHP基于自增數(shù)據(jù)如何能生成不重復(fù)的隨機(jī)數(shù),文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),對大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。2017-05-05