# 在 Mac 上的 PHPSTORM 配置 XDebug 来调试 PHP 程序

# 安装 XDebug

  • 使用 brew install 安装对应版本的 XDebug。使用命令:
    brew search xdebug
  • 对于我的 mac 来说,要安装的版本是 php7.1 的 XDebug,故而安装:
    brew install homebrew/php/php71-xdebug
  • 安装完毕后执行 php -i | grep xdebug 查看是否有输出(有输出就是安装上了)

1
2
3
4
5
6
7
8
xdebug
xdebug support => enabled
xdebug.auto_trace => Off => Off
xdebug.cli_color => 0 => 0
...```

#配置XDebug
* 执行`php -i | grep php.ini`找到mac上php.ini的位置

Configuration File (php.ini) Path => /usr/local/etc/php/7.1
Loaded Configuration File => /usr/local/etc/php/7.1/php.ini```

  • 使用编辑器打开 php.ini 后,加入如下配置:

1
2
3
4
5
6
[Xdebug]
zend_extension="/usr/local/Cellar/php71-xdebug/2.5.1/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.profiler_enable=1
xdebug.idekey = PHPSTORM

注:上面的 zend_extension 是你的 xdebug 的真实安装位置,如果忘记的话,可以执行 brew info <第一步安装的 xdebug> 来找到位置

# 配置 PhpStorm

  • 打开偏好,切换到 Language & Frameworks->PHP , 会看到如下窗口:

img

​ PHP 配置界面

  • 点击 CLI Interpreter 旁边的 点点点

img

​ 点击点点点

  • 点击加号来添加 mac 上对应的 php 解释器的路径:

img

​ 添加 php 解释器路劲

  • 添加完毕后,会出现 Debugger: XDebug 2.5.1

img

​ 添加完毕

  • 点击 OK 来应用和关闭这个界面。
  • 然后点开 PHP->Debug , 填上 XDebug 的对应信息:

img

​ 填入 XDebug 的信息

  • 打开对应的 PHP 项目并点击导航条上的向下小箭头的 edit configurations:

    img

      									点击小箭头
    

    * 找到 PHP Remote Debug,点击 server 旁边的点点点,进行配置:

    img

    ​ 配置 PHP Remote Debug

  • 在 Ide Key 上填入:PHPSTORM

    img

    ​ 填入 Ide Key

  • 启动 debug 监听:

    img

    ​ 启动 debug 监听

# 配置 Chrome 插件

  • 安装 Chrome 上对应的 XDebug 插件:
    https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc

  • 安装完毕后邮件 Chrome 上的 XDebug 插件,点击选项:

    img

    ​ 点击选项

  • 在 IDE KEY 中选择 PhpStorm, 并填入 PHPSTORM(同 IDE KEY),并点击 save

    img

    ​ 配置 XDebug

# Debug 程序

  • 启动对应的 Php 程序

    img

    ​ 启动 PHP 程序

  • 打开页面,并启动 Chrome 上的 XDebug:

    img

    ​ 启动 Debug

  • 刷新页面,PHP STORM 会弹出如下窗口:

    img

    ​ 收到监听

  • 点击 Accept 后就可以开始快乐的给 PHP 程序打断点了:

    img

    ​ 打断点 DEMO

作者:西风老耄

链接:https://www.jianshu.com/p/3fe69df5d6de

来源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。