使用PHPSTORM
以及xdebug
有些時間了,但每次一切換環境,貌似xdebug
都會來點小問題。因而,準備花時間系統的將配置及排查的過程寫一下,以便下次使用的時候,可以再也不重複走過去的路。php
安裝xdebug
擴展略過。chrome
再借用動圖一張:
感謝原做者的辛苦付出, 點擊查看原文瀏覽器
有了上面的原理,在配置的時候,咱們就有了方向。
步驟以下:服務器
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
信息。測試
同時,還能夠看到一些配置信息:spa
打開配置界面 -> Languages & Frameworks -> PHP -> Debugfirefox
此項默認開啓,故可忽略
點擊肯定後,按系統不一樣,能夠查看本機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
即可以找到咱們
打開配置界面 -> Languages & Frameworks -> PHP
點擊 + , 並選擇本身的PHP環境。
chrome
安裝xdebug helper
,firefox
也相似。做用主要是向cooikes
寫一個XDEBUG_SESSION=PHPSTORM
。安裝後,設置一下,不然默認的是eclipse
。
xdebug helper
點擊enable
後,刷新頁面。
此時:
XDEBUG_SESSION=PHPSTORM
發送給PHP
PHP
將控制權給了xdebug
xdebug
獲取到XDEBUG_SESSION
時,與本身的設定時進行比較,相同,則向127.0.0.1:9000
發送信息,並中斷執行PHPSTORM
接收到信息,將信息顯示到控制檯,並對應的在對應的文件上顯示斷點,同時發出中斷執行指令PHPSTORM
發出繼續執行指令進行下一步debug.