前端開發中的效能那點事(一)巧用xdebug

來源:互聯網
上載者:User

前言:
在我們平時的php開發中,一個大的項目經過長時間的積累以後你會發現效能越來越慢,而效能到底消耗在了什麼地方,常常是一個令人頭疼的問題,function a()調用了多少次,function b()又消耗了多少時間,我們到底怎麼尋找是哪個蛀蟲拉慢了我們的程式運行速度呢。在這裡給大家介紹一款工具xdebug,相信很多人已經聽說過了,希望藉助這個工具我們可以起到簡單分析php程式效能瓶頸的問題。
A)假設1,假設使用者目錄在/home/ad
B)假設2,假設php目錄在/home/ad/php

1、xdebug簡介與安裝
Xdebug是一個開放原始碼的PHP程式調試器(即一個Debug工具),可以用來跟蹤,調試和分析PHP程式的健全狀態。
1)下載xdebug
xdebug的官方下載地址為:http://xdebug.org/download.php
最新版本為:Xdebug 2.1.0
2)xdebug的安裝

1 2 3 4 5 6 7 8 cd /home/ad wget  http: //xdebug.org/files/xdebug-2.1.0.tgz tar -zxvf xdebug-2.1.0.tgz cd xdebug-2.1.0 /home/ad/php/bin/phpize ./configure --enable-xdebug --with-php-config=/home/ad/php/bin/php-config make make install

安裝完以後會提示你擴充安裝到了哪個目錄,類似  /home/ad/php/lib/php/extensions/no-debug-non-zts-20060613/
假設你的php.ini放在 /home/ad/php/lib/php.ini
加上

1 2 3 4 5 6 7 8 9 [xdebug] zend_extension = "/home/ad/php/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so" xdebug.auto_trace = on xdebug.auto_profile = on xdebug.collect_params = on xdebug.collect_return = on xdebug.profiler_enable = on xdebug.trace_output_dir = "/home/ad/xdebug_log" xdebug.profiler_output_dir = "/home/ad/xdebug_log"

重啟apache
去/home/ad/xdebug_log下看看是不是日誌已經出來了

2、xdebug參數簡介
zend_extension 載入xdebug擴充
xdebug.auto_trace 自動開啟開啟函數調用監測
xdebug.auto_profile 自動開啟效能監測
xdebug.trace_output_dir 設定函數調用監測資訊的輸出檔案的路徑。
xdebug.profiler_output_dir 設定效能監測資訊輸出檔案的路徑。
xdebug.collect_params 開啟收集“函數參數”的功能。將函數調用的參數值列入函數程序呼叫的監測資訊中。
xdebug.collect_return 開啟收集“函數傳回值”的功能。將函數的傳回值列入函數程序呼叫的監測資訊中。

3、樣本程式與日誌收集

1 2 3

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.