首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

Linux 環境下 PHP Xdebug 擴展安裝與性能分析實戰

     編輯:PHP 綜合知識

安裝流程(Linux 源碼編譯)

wget https://xdebug.org/link.php?url=xdebug203
tar -xvzf xdebug-2.0.3.tgz
cd xdebug-2.0.3
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install

php.ini 配置

vi /usr/local/php/lib/php.ini

# 添加以下配置
extension="xdebug.so"
xdebug.default_enable = On
xdebug.show_exception_trace = On
xdebug.show_local_vars = 1
xdebug.max_nesting_level = 50
xdebug.var_display_max_depth = 6
xdebug.dump_once = On
xdebug.dump_globals = On
xdebug.dump_undefined = On
xdebug.dump.REQUEST = *
xdebug.dump.SERVER = REQUEST_METHOD,REQUEST_URI,HTTP_USER_AGENT

重啟驗證

/usr/local/apache/bin/apachectl stop
/usr/local/apache/bin/apachectl start

創建 phpinfo() 頁面,出現 Xdebug 版本信息即成功。

Linux Xdebug 安裝驗證截圖

Profiler 性能分析配置

zend_extension="/opt/lib/xdebug.so"
xdebug.profiler_enable=On
xdebug.show_exception_trace=1
xdebug.auto_trace=On
xdebug.auto_profile=On
xdebug.profiler_output_dir=/profile
xdebug.profiler_output_name=script
xdebug.profiler_append=1

關鍵參數說明

  • zend_extension:Linux 下用 zend_extension 而非 extension
  • xdebug.auto_profile:啟用自動性能分析
  • profiler_output_dir:數據存放目錄(需屬於 daemon/apache 用戶)
  • profiler_output_name=script:輸出文件名基於腳本名(如 mnt_d_phplib_phpsys2_phpinfo_php_cachegrind.out),否則默認 cachegrind.out.PID
  • profiler_append=1:追加模式累計統計,壓測時產生大量數據需注意磁盤空間

實戰測試案例

對比 file_get_contents (PHP 5 內置) 與 php4 兼容實現 性能,結果差異約 1:4。使用 KCacheGrind 或 WinCacheGrind 分析生成的 cachegrind.out.* 文件,可視化定位熱點函數、調用次數、耗時分佈。

www:/opt/APC-3.0.14 # php -v
PHP 5.2.2 (cli) (built: May 5 2007 18:43:05)
Zend Engine v2.2.0
with Xdebug v2.0.0RC3

建立 /profile 目錄並設置正確權限,即可開始專業級性能調優之旅。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved