前言
之前2月份就開始配置xdebug
,始終沒有成功。
今天看到一篇寫得挺詳細的文章,心血來潮又折騰了下,可惜沒成功。
驗證始終說我配置錯誤
后面去閱讀官方的文檔,修改了些配置,居然搞成功了!!
nice
原因是在xdebug 3版本里,有些xdebug配置信息被丟棄或者更改了。
網上大部分的配置信息又都是以前的,難怪怎么配置都不成功。
比如以前的ip配置,端口配置
xdebug.remote_host
xdebug.remote_port
現在改成了
xdebug.client_host
xdebug.client_port
怪不得一直連不上,配置名都改了,根本就沒讀取到我們的參數。。
最后我去官網看配置介紹,根據大家以前寫的配置照葫蘆畫瓢寫了份新的配置。
限於我能力有限,這份配置還有許多不足之處,若遇到有問題請反饋給我。
平台環境
windows 10 2004 64位
phpstorm 2021
phpstudy
php版本: 7.4.3
注意我使用的是舊版本的phpstorm,如果是新版本的直接按照着分類大名找
配置流程
- 下載xdebug對應版本的dll文件
- 配置網站
- 配置
php.ini
- 配置
phpstorm
- 驗證連接
- 安裝瀏覽器調試插件
1、下載xdebug
對應版本的dll文件
點開下面這個網址
https://xdebug.org/wizard
把phpinfo()
頁面的信息復制進去,點擊提交,彈出下載鏈接,選擇下載
將下載的dll文件放到php\php版本\ext\
里面
我的是
C:\phpstudy\Extensions\php\php7.4.3nts\ext\
2、配置網站
打開phpstudy
我的主域名是www.www
網站根目錄是 c:\phpstudy\www
端口是80
根據你自己的網站配置進行更改
3、配置php.ini
進入相對應php版本的php.ini
末尾加上下面這些
[xdebug]
zend_extension = "C:\phpstudy\Extensions\php\php7.4.3nts\ext\xdebug.dll"
xdebug.mode= "debug"
#性能分析文件存放位置
xdebug.output_dir = "C:\phpstudy\tmp\xdebug"
#步驟調試器,應該是步入步進步出的吧
xdebug.remote_handler = "dbgp"
xdebug.idekey="PHPSTORM"
#由remote_host替換過來了,就寫本機的就行
xdebug.client_host=127.0.0.1
#由remote_port替換過來了,調試端口
xdebug.client_port=2333
在php.exe目錄下運行cmd執行.\php.exe -m
看到xdebug表示成功安裝
4、配置phpstorm
-
配置php服務
配置的php版本是你裝有xdebug的版本 -
配置調試
端口與剛剛php.ini里邊的xdebug.client_port一樣
-
DBGp代理配置
不用解釋了,端口都是和php.ini
里邊的xdebug.client_port
一樣,主機填本機的。 -
服務器配置
我做有hosts
域名解析的,www.www
實際上就是127.0.0.1
,你也可以直接填localhost
, 只要你知道該域名指向的文件根目錄在哪里就行了。
后面驗證會用到域名對應的文件根目錄
調試器選xdebug
- 創建配置
新建php web page
頁面
照着這樣填就好了,默認瀏覽器填你喜歡用的,最好就火狐、chorme、edge這三個,后面還要安裝插件
5、驗證連接
url是剛剛phpstudy綁定的,腳本目錄就是你url指向的文件根目錄
比如我這個
6、安裝瀏覽器調試插件
直接搜索xdebug helper。安裝成功后右鍵進入擴展選項
安裝這樣配置,點擊save
如果驗證失敗怎么辦?
情況1
如果你的是這張圖片,代表着你還沒建立其web服務。
解決方式:
1、檢查驗證腳本路徑和URL是否配置正確
2、是不是忘記運行web容器了
情況2
代表着你已經可以訪問Web服務了,但是xdebug未能成功加載
解決方式:
1、檢查phpstudy上面運行的php版本。必須要與你裝載了xdebug的php版本一致
2、檢查php.ini
里的xdebug
片段。可以用以下最簡配置試下能否成功驗證。
記得修改路徑和port
[xdebug]
zend_extension="<path to xdebug extension>"
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port="<the port (9003 by default) to which Xdebug connects>"
其他情況:
2021/8/24日添加
遇到下面這個問題。
如果確定其他步驟都正確了。那問題原因是驗證腳本和驗證url不指向同一個目錄導致的。有以下兩種解決方式。
方式一
方式二
按照上面都檢查一遍,不行可以留言給我。
驗證是否能夠調試
-
在
phpstorm
開啟xdebug
監聽
-
確保開啟了
phpstudy
。或者運行了web容器
-
點擊調試
-
成功捕獲到數據
參考資料: