phpstorm + xdebug 遠程斷點調試

來源:互聯網
上載者:User

標籤:用戶端   資料   網上   斷點   

xdebug簡介

Xdebug是php的一款調試工具,是基於zend的一個擴充,可以用來跟蹤,調試和分析PHP程式的健全狀態。如變數,函數調試,效能監測,程式碼涵蓋範圍等

xdebug安裝

1.下載xdebug來源程式

git clone git://github.com/xdebug/xdebug.githttps://xdebug.org/download.php#releases

2.解壓xdebug包
tar -xzvf xdebug.tgz

3.進入解壓目錄
cd xdebug

4.運行phpize
/usr/local/php/bin/phpize

5.編譯
./configure --enable-xdebug --with-php-config=/usr/local/php/bin/php-config

6.安裝
make && make install

7.安裝成功後會在php擴充目錄產生類似xdebug.so的擴充

8.安裝xdebug用戶端xdebugclient (需要libedit擴充)

cd debugclient./configure --with-libeditmakemake install
xdebug配置

1.在php.ini設定檔中添加如下內容
zend_extension="/wherever/you/put/it/xdebug.so"
2.如果是php5.3之前版本安全執行緒,添加如下內容代替上面1的內容
zend_extension_ts="/wherever/you/put/it/xdebug.so"
3.自從php5.3之後zend_extension_ts, zend_extension_debug不再使用

4.xdebug的一些其他配置

;顯示錯誤資訊xdebug.default_enable = 1;函數調試xdebug.auto_trace=onxdebug.trace_output_dirxdebug.trace_output_name;Type: string, Default value: trace.%cxdebug.collect_params = 1|3|4 (參數長度,參數值,參數=值)xdebug.show_mem_delta=1 顯示記憶體xdebug.collect_return=1 顯示傳回值xdebug.trace_options =1 追加日誌xdebug.collect_params=1xdebug.collect_vars = 1;開啟效能分析xdebug.profiler_enable=1;效能分析日誌儲存目錄xdebug.profiler_output_dir = /data/logs/xdebug/;效能分析記錄檔名稱xdebug.profiler_output_name = cachegrind.out.log;預設是如下格式,t時間,p進程id;xdebug.profiler_output_name = cachegrind.out.%t.%p;程式碼涵蓋範圍xdebug.coverage_enable = 1;以下是遠端偵錯配置xdebug.remote_host= 127.0.0.1xdebug.remote_connect_back = 1xdebug.remote_port = 9000xdebug.remote_log="/data/logs/xdebug/xdebug.log"

4.重啟php使配置生效

效能分析日誌工具

1.linux平台

工具KCacheGrind (Linux, KDE) https://kcachegrind.github.io/

2.win平台查看工具WinCacheGrind

相關網址

http://ceefour.github.io/wincachegrind/https://sourceforge.net/projects/wincachegrind/https://github.com/ceefour/wincachegrind/releases/tag/1.1

列名稱含義

Self - Shows the execution time of the code in the current block

Cum. - Shows the total exuction time of functions that the current function (Self) calls

Avg vs. Total: Average is average time per call, Total is the total time spend in all calls.

3.Web方式查看webgrind

https://github.com/jokkedk/webgrind


XDEBUG配置:

1.安裝 xdebug 略了。網上有很多資料。 

重點寫php.ini的配置 

 [XDebug]
   zend_extension="/usr/lib/php5/20090626+lfs/xdebug.so"
   xdebug.default_enable = On
   xdebug.collect_params = On

xdebug.remote_connect_back = On           //如果開啟此,將忽略下面的 xdebug.remote_host 的參數。 <一台webserver有多個開發人員的工作目錄的時候使用,如:p1.xx.com,p2.xx.com,p3.xx.com 。。。等。 >
   xdebug.remote_host = 192.168.59.104    //注意這裡是,用戶端的ip<即IDE的機器的ip,不是你的web server>
   xdebug.remote_port = 9900                       //      注意這裡是,用戶端的連接埠<即IDE的機器的ip,不是你的web server>
   xdebug.remote_enable = On
  xdebug.remote_handler = dbgp
  xdebug.remote_log = "/var/www/xdebug/xdebug.log"
 xdebug.remote_req = req
 xdebug.auto_trace = Off
 xdebug.remote_autostart = On
 xdebug.show_exception_trace = 0
 xdebug.collect_vars = On
 xdebug.collect_return = On
 xdebug.collect_params = On
 xdebug.var_display_max_depth = 15
 xdebug.show_local_vars = 1
 xdebug.dump_undefined = 1
 xdebug.profiler_enable = 1
 xdebug.profiler_output_dir = /var/www/xdebug

PHPSTORM 配置:
1.file->setings->php|Debug右側。xdebug的那一塊。 設定Debug port:9900(這裡設定 的是,xdebug 吐出的debug資訊,通過原生什麼連接埠傳輸。)

2.file->setings->php|Servers  右側。  host: 你的web伺服器的網域名稱或ip ,連接埠,  下面的 use path mapping  意的是,你的項目的目錄,對應伺服器上的,什麼目錄?   這裡一定要設定哦! 不然,會發生找不到檔案而出錯,導至調試終止。

3.Run->Edit Configurations-> 增加一個 PHP WEB APPlication 的調試驗。  右側: server 選擇你上面建立的server.  starturl 設定你的入口檔案。

至此,配置完畢!


這樣的請求,可以註冊一個調試用戶端哦!

http://www.aihuxi.com/****.php?XDEBUG_SESSION_START=19192


點擊,小蟲子表徵圖,即可,開始調試! 




phpstorm + xdebug 遠程斷點調試

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.