PhpStorm配置Xdebug进行调试 平时犯懒就直接在代码中var_dump打印看信息了,有时候遇到比较复杂的逻辑,还是用Xdebug会方便些。

环境

OS:Windows 10
PHP:集成环境下的5.4.17版本
IDE:PhpStorm 8.0.3

PHP配置

  1. 下载php的Xdebug拓展,下载地址为:https://xdebug.org/download.php,按照使用的php版本下载对应的Xdebug版本。其中TS是thread safe即线程安全的意思
    Xdebug
  2. 打开php.ini,在文件最后添加以下文本:
  1. [xdebug]
  2. zend_extension = D:phpDevphpfindphpbextphp_xdebug-2.4.1-5.4-vc9-nts.dll
  3. xdebug.remote_enable =1
  4. xdebug.remote_handler = dbgp
  5. xdebug.remote_host = localhost
  6. xdebug.remote_mode = req
  7. xdebug.remote_port = 9001
  8. xdebug.idekey=PHPSTORM

其中remote_host属性,表示服务器IP也就是IDE所在的IP,一般来说本地调试就是localhost,同理,remote_port表示服务器监听端口。remote_port只要使用空闲端口即可,因为本地9000端口被php-fpm占用,所以我就使用了9001。idekey是调试器的识别符,需要与IDE中的设置保持一致,不是非要“PHPSTORM”。

IDE设置

  1. 点击File->Setting->Languages&Frameworks->PHP,然后如图指定PHP版本
    IDE-PHP-ver

  2. 打开PHP子菜单,选择Debug选项,如图勾选,并将Debug port设置为上面在php.ini中remote_port的值
    IDE-php-xdebug

  3. 继续打开Debug子菜单,选择DBGp Proxy选项,其中IDE key设置为php.ini中填写的值,Port也是一样,Host即是本地或远端需要调试的项目的域名(不带HTTP/HTTPS前缀)或IP。IDE-DBGp

  4. 打开菜单Run->Edit Configurations->PHP Web Application,如图所示添加需要调试的站点信息。其中Use path mappings主要用于远端调试时可能遇到的路径问题,直接使用绝对路径定位到项目就可以。
    IDE-web-app

    浏览器插件

    Chrome商店里搜Xdebug Helper,安装后插件会出现在右上角的快键栏中。

    使用

    IDE打开要调试的项目,在要调试处添加断点,然后找到快捷栏中一个小电话模样的图标(提示文字是:Stop/Start Listening For PHP Debug Connections),确定start后PhpStorm没有提示错误信息,则表示开启Debug监听成功。
    然后浏览器打开要调试的网址,点击浏览器右上角的Xdebug Helper图标,点击一下“Debug”按钮,会变成绿色,则表示成功开启Debug模式,然后访问相应的页面,IDE中就会在断点处停止,并打印出变量等信息,并且浏览器也处在等待请求的状态。
    IDE-debugger