[xDebug] PhpStorm Xdebug遠程調試環境搭建


對於簡單的工程,直接print_r();exit()已經足夠,但是對於大型項目有時就有點力不從心。、

1,環境介紹

本地:windows10(192.168..)+ phpstorm8
遠程:Centos7(192.168.237.8)+ nginx+ php5

2 遠程環境配置

2.2 xdebug安裝

  Centos7下直接apt-get安裝,安裝命令如下:apt-get install php5-xdebug

2.3 配置

首先通過locate定位到php7.ini,

[Xdebug]
zend_extension=xdebug.so
xdebug.idekey=PHPSTORM
xdebug.remote_connect_back = 1
;//如果開啟此,將忽略下面的 xdebug.remote_host 的參數
 
;xdebug.remote_host=192.168.x.x
; //注意這里是,客戶端的ip<即IDE的機器的ip,不是你的web server>
 
xdebug.remote_enable=on
xdebug.remote_port = 9001
;//注意這里是,客戶端的端口<即IDE的機器的ip,不是你的web server>
 
xdebug.remote_handler = dbgp
xdebug.auto_trace = 1
xdebug.remote_log = /tmp/xdebug.log

3 本地phpstorm配置

3.1 下載遠程代碼

phpstorm在新建項目的時候提供了選項,可以通過ftp/sftp遠程下載代碼,直接按照提示下一步下一步就可以。

3.2 添加php解釋器

通過file->settings->Languages & Frameworks找到php欄,

3.3 配置Debug

路徑還是在file->settings->Languages & Frameworks->PHP,選擇Debug,選擇要監聽的端口,這里設置為9001,如圖所示:

設置完端口還需要設置DBGp Proxy,配置如下:

在設置完Debug頁面后,在DBGp Proxy頁面的端口已經確定,添加上IDE key為剛才xdebug配置文件設置的key:PHPSTORM,Host則為要調試的遠程主機。

3.4 配置Server

通過通過file->settings->Languages Frameworks->PHP找到Servers,Host對應遠程主機IP,Debugger選用Xdebug,如果是遠程調試,一定得開啟路徑映射功能,否則無法調試,本地的路徑不用選,在新建遠程項目的時候就已經確定,Absolute path on the server則是遠程主機的Web路徑。在途中紅框上方有一個Validate remote environment可以用來驗證遠程的Xdebug配置,如果配置明顯不對的話,會有提示信息,可按照提示信息修改遠程服務器的xdebug配置。

3.5 配置調試選項

由於調試的目標是一個項目,所以這里需要設置PHP Web Application,配置中Server:遠程目標主機,Start URL設為/,設置完之后會在左側新建一個PHP Web Application

到目前為止,該配置的都已經配置完成,這里面配置的選項比較多,一步一步配置,有順序要求。配置完之后就是調試。點擊下圖右邊紅框中的小按鈕,打開xdebug監聽,再選擇我們要調試的目標,這里是server,最后點擊那個調試按鈕,就能開啟調試之旅。

打開xdebug監聽的時候,可以看到IDE已經在本地建立監聽服務,具體如下:

可以看到調試頁面。如下所示

3.6 瀏覽器添加書簽或者Xdebug Helper

面描述的是通過PHPStorm的debug按鈕,發送類似?XDEBUG_SESSION_START=17212這種請求調起瀏覽器來達到調試的目的,但是這種方式只能調起首頁,存在缺陷。下面介紹另外一種啟動調試的方式,就是通過瀏覽器中帶XDEBUG_SESSION
的cookie直接發起,可以安裝Chrome插件Xdebug Helper或者添加瀏覽器的調試插件、或書簽來達到目的。新建書簽的url:https://www.jetbrains.com/phpstorm/marklets/,這里就不再做示例,插件和書簽的原理都是一樣的,都是在cookie中添加XDEBUG_SESSION=PHPSTORM。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM