对于简单的工程,直接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。