使用phpstorm一步步配置Xdebug

使用PHPSTORM以及xdebug有些時間了,但每次一切換環境,貌似xdebug都會來點小問題。因而,準備花時間系統的將配置及排查的過程寫一下,以便下次使用的時候,可以再也不重複走過去的路。php

安裝xdebug擴展略過。chrome

工做原理

clipboard.png

再借用動圖一張:
clipboard.png
感謝原做者的辛苦付出, 點擊查看原文瀏覽器


有了上面的原理,在配置的時候,咱們就有了方向。
步驟以下:服務器

配置php.ini

xdebug安裝後,須要配置相應的php.ini文件eclipse

# 開啓遠程調試
xdebug.remote_enable=1

# 定義日誌位置,很重要。當發生一些與咱們的預期不一致的事件時,咱們能夠找到這個文件查看。
xdebug.remote_log=/var/log/xdebug.log

# 遠程調試服務器(咱們開發的裝有PHPSTORM機器)的端口,默認就是這個端口,因此若是你就是用的9000,此項可忽略。
xdebug.remote_port=9000

# 遠程調試服務器(咱們開發的裝有PHPSTORM機器)的地址,若是`XDEBUG`和`PHPSTORM`都是一臺機器上,那麼這個地址寫127.0.0.1便可.
xdebug.remote_host=127.0.0.1

# 定義IDE KEY。定義後,能夠忽略。
xdebug.idekey=PHPSTORM

注意:查看日誌很重要,因此xdebug.remote_log此項配置很重要。ide

測試

建立test.php並輸入<?php phpinfo();,訪問該文件,查看debug信息。測試

clipboard.png

同時,還能夠看到一些配置信息:spa

clipboard.png

配置PHPSTORM

配置XDEBUG

打開配置界面 -> Languages & Frameworks -> PHP -> Debugfirefox

此項默認開啓,故可忽略

clipboard.png

點擊肯定後,按系統不一樣,能夠查看本機9000端口是否開放。debug

panjiedeMac-Pro:~ panjie$ lsof -i:9000
COMMAND    PID   USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
PHPSTORM 98883 panjie  293u  IPv4 0x9dffc3bec4b8f68b      0t0  TCP *:cslistener (LISTEN)

端口直接的啓動後,咱們便設置好的調試服務器 127.0.0.1和端口9000了。這時候,咱們的XDebug即可以找到咱們

配置CLI

打開配置界面 -> Languages & Frameworks -> PHP
點擊 + , 並選擇本身的PHP環境。

安裝瀏覽器擴展

chrome安裝xdebug helperfirefox也相似。做用主要是向cooikes寫一個XDEBUG_SESSION=PHPSTORM。安裝後,設置一下,不然默認的是eclipse
clipboard.png

啓用xdebug helper

點擊enable後,刷新頁面。
此時:

  • 瀏覽器將帶有XDEBUG_SESSION=PHPSTORM發送給PHP
  • PHP將控制權給了xdebug
  • xdebug獲取到XDEBUG_SESSION時,與本身的設定時進行比較,相同,則向127.0.0.1:9000發送信息,並中斷執行
  • PHPSTORM接收到信息,將信息顯示到控制檯,並對應的在對應的文件上顯示斷點,同時發出中斷執行指令
  • PHPSTORM發出繼續執行指令進行下一步debug.
相關文章
相關標籤/搜索