PhpStorm配置Xdebug进行调试 平时犯懒就直接在代码中var_dump打印看信息了,有时候遇到比较复杂的逻辑,还是用Xdebug会方便些。
环境
OS:Windows 10
PHP:集成环境下的5.4.17版本
IDE:PhpStorm 8.0.3
PHP配置
- 下载php的Xdebug拓展,下载地址为:https://xdebug.org/download.php,按照使用的php版本下载对应的Xdebug版本。其中TS是thread safe即线程安全的意思
- 打开php.ini,在文件最后添加以下文本:
[xdebug]
zend_extension = D:phpDevphpfindphpbextphp_xdebug-2.4.1-5.4-vc9-nts.dll
xdebug.remote_enable =1
xdebug.remote_handler = dbgp
xdebug.remote_host = localhost
xdebug.remote_mode = req
xdebug.remote_port = 9001
xdebug.idekey=PHPSTORM
其中remote_host属性,表示服务器IP也就是IDE所在的IP,一般来说本地调试就是localhost,同理,remote_port表示服务器监听端口。remote_port只要使用空闲端口即可,因为本地9000端口被php-fpm占用,所以我就使用了9001。idekey是调试器的识别符,需要与IDE中的设置保持一致,不是非要“PHPSTORM”。
IDE设置
点击File->Setting->Languages&Frameworks->PHP,然后如图指定PHP版本
打开PHP子菜单,选择Debug选项,如图勾选,并将Debug port设置为上面在php.ini中remote_port的值
继续打开Debug子菜单,选择DBGp Proxy选项,其中IDE key设置为php.ini中填写的值,Port也是一样,Host即是本地或远端需要调试的项目的域名(不带HTTP/HTTPS前缀)或IP。
打开菜单Run->Edit Configurations->PHP Web Application,如图所示添加需要调试的站点信息。其中Use path mappings主要用于远端调试时可能遇到的路径问题,直接使用绝对路径定位到项目就可以。
浏览器插件
Chrome商店里搜Xdebug Helper,安装后插件会出现在右上角的快键栏中。
使用
IDE打开要调试的项目,在要调试处添加断点,然后找到快捷栏中一个小电话模样的图标(提示文字是:Stop/Start Listening For PHP Debug Connections),确定start后PhpStorm没有提示错误信息,则表示开启Debug监听成功。
然后浏览器打开要调试的网址,点击浏览器右上角的Xdebug Helper图标,点击一下“Debug”按钮,会变成绿色,则表示成功开启Debug模式,然后访问相应的页面,IDE中就会在断点处停止,并打印出变量等信息,并且浏览器也处在等待请求的状态。