atom 安装 xdebug 调试 php 代码

zuixinyan 2019-06-26

前言

xdebug是一款帮助php调试代码的扩展,主要功能有

  • 堆栈跟踪
  • 代码覆盖率分析
  • 垃圾收集统计
  • 远程调试

其中最有用的功能就属远程调试了,下面就一步步来搭建xdebug。从sublime转到atom后,发现atom对xdebug并不原生支持,花了半天时间,总算完成了xdebug环境的搭建。

搭建步骤

  • 安装 xdebug 扩展
  • 安装 atom package php-debug
  • 配置 xdebug 以及 atom
  • happy debug

安装 xdebug

先在xdebug官网 查询好与自己环境对应的版本,
我的php是5.4的,我应该使用 xdebug 2.4.1

  1. pecl 安装
    执行

    pecl install xdebug-2.4.1
  2. 源码安装

    1. 下载 pecl.php.net/get/xdebug-version
    2. 执行 phpize && make && make install

window用户下载dll文件放在扩展目录就ok


配置 xdebug

在 php.ini 中加入

# linux
zend_extension=xdebug.so
# window
zend_extension=yourpath/php_xdebug-x.x.x.dll

[xdebug]
xdebug.idekey=xdebug-atom # 编辑器插件的idekey
xdebug.remote_enable=1 # 允许远程调试
xdebug.remote_host=127.0.0.1 # 编辑器所在ip地址 remote_connect_back为1时忽略此值
# 如果启用,xdebug.remote_host设置将被忽略,Xdebug将尝试连接到发出HTTP请求的客户
# 端。它检查$ _SERVER['HTTP_X_FORWARDED_FOR']和$ _SERVER['REMOTE_ADDR']
# 变量以找出使用哪个IP地址。
xdebug.remote_connect_back=1 
xdebug.remote_port=9000 # 编辑器监听的端口 默认为9000
xdebug.remote_handler=dbgp # 协议
xdebug.remote_mode=req
xdebug.remote_autostart=false # 
xdebug.remote_log=/www/log/xdebug.log # 连接调试日志

这里注意是 xdebug 是以zend扩展加入的 所以是 zend_extension 而不是 extension

配置好后重启apache或php-fpm应用新配置
phpinfo(); 检查到xdebug 后方表示安装成功
atom 安装 xdebug 调试 php 代码

安装atom php-debug 扩展及配置

打开atom setting->install 搜索 php-debug,或命令行

apm install php-debug

接着设置

PathMaps: [
    "/data/www/root;c:/data/www"
]
ServerAddress: "192.168.2.100"
ServerPort: 9010
  1. PathMaps
    格式 "serverpath;local"
    服务器到本地目录的映射,当服务器php文件地址与本地不同时,配置此项
  2. ServerAddress
    编辑器监听的地址 默认 127.0.0.1 该地址需要服务器能访问
  3. ServerPort
    编辑器监听的端口 默认 9000 如果9000被php-fpm占用则需要设置此端口

使用 xdebug 调试

  1. 在php脚本中增加一个断点(alt+f9)
    atom 安装 xdebug 调试 php 代码
  2. 访问php脚本并加上 get参数 XDEBUG_SESSION_START=xdebug-atom
  3. 查看信息

atom 安装 xdebug 调试 php 代码

最后 have fun

相关推荐