對於簡單的工程,直接print_r();exit()已經足夠,可是對於大型項目有時就有點力不從心。、php
本地:windows10(192.168..)+ phpstorm8
遠程:Centos7(192.168.237.8)+ nginx+ php5nginx
Centos7下直接apt-get安裝,安裝命令以下:apt-get install php5-xdebug
web
首先經過locate定位到php7.ini,windows
phpstorm在新建項目的時候提供了選項,能夠經過ftp/sftp遠程下載代碼,直接按照提示下一步下一步就能夠。瀏覽器
經過file->settings->Languages & Frameworks找到php欄,服務器
路徑仍是在file->settings->Languages & Frameworks->PHP,選擇Debug,選擇要監聽的端口,這裏設置爲9001,如圖所示:cookie
設置完端口還須要設置DBGp Proxy,配置以下:php7
在設置完Debug頁面後,在DBGp Proxy頁面的端口已經肯定,添加上IDE key爲剛纔xdebug配置文件設置的key:PHPSTORM,Host則爲要調試的遠程主機。phpstorm
經過經過file->settings->Languages Frameworks->PHP找到Servers,Host對應遠程主機IP,Debugger選用Xdebug,若是是遠程調試,必定得開啓路徑映射功能,不然沒法調試,本地的路徑不用選,在新建遠程項目的時候就已經肯定,Absolute path on the server則是遠程主機的Web路徑。在途中紅框上方有一個Validate remote environment能夠用來驗證遠程的Xdebug配置,若是配置明顯不對的話,會有提示信息,可按照提示信息修改遠程服務器的xdebug配置。ide
因爲調試的目標是一個項目,因此這裏須要設置PHP Web Application,配置中Server:遠程目標主機,Start URL設爲/,設置完以後會在左側新建一個PHP Web Application
到目前爲止,該配置的都已經配置完成,這裏面配置的選項比較多,一步一步配置,有順序要求。配置完以後就是調試。點擊下圖右邊紅框中的小按鈕,打開xdebug監聽,再選擇咱們要調試的目標,這裏是server,最後點擊那個調試按鈕,就能開啓調試之旅。
打開xdebug監聽的時候,能夠看到IDE已經在本地創建監聽服務,具體以下:
能夠看到調試頁面。以下所示
面描述的是經過PHPStorm的debug按鈕,發送相似?XDEBUG_SESSION_START=17212
這種請求調起瀏覽器來達到調試的目的,可是這種方式只能調起首頁,存在缺陷。下面介紹另一種啓動調試的方式,就是經過瀏覽器中帶XDEBUG_SESSION
的cookie直接發起,能夠安裝Chrome插件Xdebug Helper或者添加瀏覽器的調試插件、或書籤來達到目的。新建書籤的url:https://www.jetbrains.com/phpstorm/marklets/,這裏就再也不作示例,插件和書籤的原理都是同樣的,都是在cookie中添加XDEBUG_SESSION=PHPSTORM。