1. 程式人生 > >PhpStorm 配置 Xdebug除錯工具

PhpStorm 配置 Xdebug除錯工具

前言

  php是指令碼型程式 每次出錯都要手動exit斷點程式不是很方便

  哪裡有需求哪裡就有生產,Xdebug可以實現對php的斷點除錯。下面將我個人的安裝經歷分享給大家。

  執行環境 Windows 、lamp、phpstorm 、chrome (配置方法一樣 Ubuntu也通用)
一、首先安裝xdebug

  安裝xdebug比較簡單 ,執行php -i >phpinfo.txt 或者 echo phpinfo();將全部資訊貼到https://xdebug.org/wizard.php這個網站提示的文字域中點選這裡寫圖片描述
  如下圖紅色的框是網站提示的安裝步驟,黃色的框是我已安裝的資訊(可以忽略)。
這裡寫圖片描述


補充在編輯php.ini檔案的時候多新增幾行

[XDebug]

xdebug.profiler_output_dir="F:\phpStoudy\PHPTutorial\tmp\xdebug"
xdebug.trace_output_dir="F:\phpStoudy\PHPTutorial\tmp\xdebug"
zend_extension="F:/phpStoudy/PHPTutorial/php/php-5.6.27-nts/ext/php_xdebug.dll"

;允許收集傳遞給函式的引數變數
xdebug.collect_params=on

;允許收集函式呼叫的返回值  
xdebug.collect_return=on

;啟用程式碼自動跟蹤  
xdebug.auto_trace=on 


;效能優化,本文用不到,選擇關閉(不關閉,會以約每分鐘幾百M的速度產生大量日誌檔案,用不上一天你的硬碟就哭了)
xdebug.profiler_enable = Off //關掉效能檢測分析
;指定效能分析資訊檔案的名稱 xdebug.profiler_output_name = cachegrind.out.%t.%p ;遠端埠,指phpstorm配置的埠 xdebug.remote_port=10000 ;指定遠端除錯的處理協議 xdebug.remote_handler = "dbgp" ;是否允許遠端終端,這個必須開啟 xdebug.remote_enable = on ;遠端IP地址,就算你phpstorm所在的IP。如果你是在本地的話直接寫127.0.0.1就可以了 xdebug.remote_host=127.0.0.1 xdebug.idekey = PHPSTORM //這裡是偵錯程式的關鍵字

二、安裝chrome xdebug helper外掛
開啟 chrome的webstore搜尋 xdebug 我已經添加了。需要FQ 可以下個vpn 藍燈 慕風都可以 或者配置host
這裡寫圖片描述
安裝完之後 瀏覽器會有一個小甲蟲這裡寫圖片描述右擊點選選項 選擇phpstorm 點選save退出
這裡寫圖片描述
這裡寫圖片描述
  備註:
    安裝完 可以列印phpinfo 檢視xdebug資訊 ,或者php -v 檢視下有沒有xdebug資訊
三、配置phpstorm
  1、php設定 選擇自己的php版本
    選單欄 file->setting->Languages&Frameworks->php
這裡寫圖片描述
選擇當前php版本的的php.exe的位置
這裡寫圖片描述

2、設定Servers
這裡寫圖片描述

3 設定debug 勾選一下 會忽略埠衝突等資訊
這裡寫圖片描述
4下拉選擇 Edit Configurations,配置伺服器資訊,新增專案除錯開發地址
這裡寫圖片描述

這裡寫圖片描述
填寫網站的訪問地址
這裡寫圖片描述
這裡寫圖片描述
然後點選ok這步就好了

5 開啟Tools->deployment->Configuration
這裡寫圖片描述

彈出一下deployment視窗
這裡寫圖片描述
配置好了點選OK即可
這裡寫圖片描述
配置完後可以點選 Web server root URL: 輸入框後面的 Open 試試看是不是可以彈出這個網址,假如彈出了表示配置成功,然後點選OK完成這一步的配置。
[注意]:配置完phpstorm後需要重啟一下apache才會生效。

四、啟用xdebug
1、點選phpstorm右上角的電話 綠色波紋就是開始監聽了
這裡寫圖片描述

2、右擊瀏覽器右上角的小甲蟲 選擇debug
這裡寫圖片描述
3、設定斷點
這裡寫圖片描述
4、訪問設定斷點的控制器 phpstorm會彈出除錯資訊 可以點 除錯下一個斷點
這裡寫圖片描述

五、其他情況說明

1、端口占用(9000 port is busy)

解決方法:更換埠

那就編輯php.ini換個埠對應的 file->setting->php-> debug 也要換掉

重新啟動下php 再除錯看看。

2、無法對映到伺服器檔案( file path is not mapped to any file path on server. edit path mappings to fix the problem )
解決方法:配置專案在伺服器的絕對路徑
這裡寫圖片描述