目录

  1. 安装Xdebug extension
  2. 设定php.ini
  3. 安装Xdebug plugin for Sublime Text2

1.安装Xdebug extension

先从安装Xdebug开始,如果连到官网的话,我 们会发现只有提供source还有Windows binaries,看起来似乎是无法直接在Mac的OSX环境上使用的样子。经过一番搜寻之后,还好发现有一个网站有提供binary的档案供下载,当然 要下载source回来自己编译也是可以,这个部分官网上面有教学,就不赘述。

连结:xdebug.so

连进去之后下载 PHP Remote Debugging Client 的Mac端档案,解压缩之后会看到里面有一些资料夹,就对照我们本机上的PHP版本安装就可以了,如果不知道自己机器上的PHP版本,可以透过Terminal执行以下指令,就可以看到机器上的PHP版本。

php -v

  

找到对应版本资料夹中的Xdebug档案 xdebug.so之后,将档案复制到 /usr/lib/php/extensions/no-debug-non-zts-20090626/ 我自己电脑上资料中是原本就有一个xdebug.so的档案,可以先做更名之后再将档案复制过来,系统询问认证的时候输入有管理权限的使用者密码就可以复制了。

2.设定php.ini

接着我们要设定php.ini,让server可以顺利载入Xdebug的php extension。Mac预设的网页伺服器并没有设定对应的php.ini,我们可以复制范本档案php.ini.defaultphp.ini,这样子伺服器就可以读到PHP的相关设定,然后再用编辑器开启档案来做设定,这边是直接在终端机中打开所以直接使用vim指令开启档案。

cd /private/etc <- 等同于 /etc
sudo cp php.ini.default php.ini
sudo vim php.ini

  

开启php.ini档案之后,找到 zend_extension="/usr/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"
将前面的 ;移除掉以取消注解。接着搜寻 xdebug 找到 [xdebug] 区块,在底下加入相关的设定,xdebug.idekey="sublime.xdebug"这个是待会安装的Sublime Text2的外挂指定的key,编辑后存档关闭。

[xdebug]
xdebug.idekey="sublime.xdebug"
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_log="/var/log/xdebug.log"
xdebug.remote_autostart=1

  

接着重开Apache,可以从共享设定那边将网页共享关闭之后再开启,就有重开了,或是在Terminal中输入以下指令做重开Apache的动作

sudo apachectl restart

  

开好之后在网页资料夹底下新增一个网页档案,内容如下,存档后透过浏览器开启就可以看到PHP的相关设定,如果可以搜寻到xdebug的选项区块的话,代表Xdebug已经顺利安装好了,如下图一所示

<?php
echo phpinfo();
?>

图1

3.安装与设定 Xdebug plugin for Sublime Text2

这里使用一套叫做 SublimeXdebug的外挂来让Sublime Text2可以跟安装好的Xdebug沟通> 因为在Package manager中找不到该外挂,所以我们直接去github下载Sublime Text2的Xdebug plugin

连结:SublimeXdebug

下载解压缩后将整个资料夹贴到Sublime Text的Package资料夹中,可以透过选单中的 Preference->Browse Packages… 开启Package资料夹,然后将外挂档案复制进去,再重新开启Sublime就可以了。

将网站资料夹加入Sublime之后,存成Project Project->Save Project As 之后点选 Project->Edit Project 开启专案设定档后加入settings区块设定xdebug需要的路径

{
"folders":
[
{
"path": "/Users/Andy/Sites/work/my83"
}
], "settings": {
"xdebug": { "url": "localhost/~andy/work/my83" }
}
}

  

到这边设定就完成了,使用上参照外挂的说明为主。设定好中断点之后就可以Start debugging了,画面如下。

附录

预设热键
  • Shift+f8: 开启Xdebug操作选单
  • f8: 当debugger已连结时,开启Xdebug操作选单
  • Ctrl+f8: 标示中断点
  • Ctrl+Shift+f5: 执行至下一中断点
  • Ctrl+Shift+f6: Step over ( 遇到函式呼叫时,确定该函式不会有问题时使用 )
  • Ctrl+Shift+f7: Step into ( 遇到函式呼叫时跳进该函式 )
  • Ctrl+Shift+f8: Step out ( 在函式中确认后面程式无误,跳至上一层 )

需要更改热键设定的话,打开该外挂的资料夹后开启 (OSX).sublime-keymap档案做修改,预设内容如下

[
{"keys": ["shift+f8"], "command": "xdebug" },
{"keys": ["f8"], "command": "xdebug_continue" },
{"keys": ["ctrl+f8"], "command": "xdebug_breakpoint"},
{"keys": ["ctrl+shift+f5"], "command": "xdebug_continue", "args": {"state": "run"}},
{"keys": ["ctrl+shift+f6"], "command": "xdebug_continue", "args": {"state": "step_over"}},
{"keys": ["ctrl+shift+f7"], "command": "xdebug_continue", "args": {"state": "step_into"}},
{"keys": ["ctrl+shift+f8"], "command": "xdebug_continue", "args": {"state": "step_out"}}
]

  

希望透过适当的工具,在开发上能够更得心应手。

转至:http://blog.andykuo.tw/blog/2012/10/16/xdebug_osx/

总结:

sublime text2作为是一个编辑器,已经很牛B了,但是作为一个IDE的话,在Debug这块还是有所欠缺。变量显示的过滤还是需要的,若是在一个框架中debug,那变量一长串的实在是不易看,操作性也太差了,至少在mac上是这样,还得按fn功能键,相当于同时四个键。只是个人意见,也许是并没有深入瞭解,若是有很好的解决办法,请告诉我。在mac上debug的话,还是netbeans吧,平时书写代码还是vim吧。

在sublime text2上安装xdebug的更多相关文章

  1. Sublime Text2上搭建C/C++环境

    环境:Sublime Text2            win7 64位 1.下载Sublime Text2并安装     下载地址:http://www.sublimetext.com/ 2.需要用 ...

  2. sublime Text2下安装php code sniffer插件

    为了跟团队保持开发规范的一致性,需要安装sublime Text2的php code sniffer插件,之前是用的phpfmt插件,发现两个规范还是有点不一样,需要再安装php code sniff ...

  3. sublime text 3 上安装xdebug

    安装完成之后启动xdebug,缺省设置下会显示warning等信息,很不方便. 可以参考 https://github.com/martomo/SublimeTextXdebug/blob/maste ...

  4. Sublime Text2 jedi插件离线安装

    1.Sublime Text2 下载安装 2.下载jedi    gitbub上的,https://github.com/srusskih/SublimeJEDI 3.打开sublime后,组合键“c ...

  5. Sublime Text 2 安装Package Control和插件的两种方法

    缘起 前几天系统刚刚还原了,重装完Sublime Text2再安装插件的时候可能是由于公司的网络环境的问题,各种报错,将解决方法记录下来.系统环境:Win7 x64 + Sublime Text2. ...

  6. Sublime Text2配置python环境

    1.下载python并安装     地址:https://www.python.org/downloads/ 2.下载Sublime Text2 并安装     地址:http://www.subli ...

  7. sublime text2 插件 - ctags的使用

    第1步:安装Ctag.exe文件 1.下载ctags程序,下载地址:http://pan.baidu.com/share/link?shareid=2930217876&uk=20133352 ...

  8. YUI Compressor for Sublime text2

    YUI Compressor 是一个用来压缩 JS 和 CSS 文件的工具,采用Java开发. 最近压缩文件,常使用在线压缩的方式来压缩文件,一来多有不便,二来如果没有网络,只能搁置了.本文来描述如何 ...

  9. Sublime Text中安装插件来实现px与rem间的换算

    今天在群里无意中看到了群友分享的一篇关于移动端的文章.里面其他内容我倒不大感兴趣,反而是rem让我提起了兴趣. 首先来谈一下rem,rem是CSS3中新增加的一个单位值,它和em单位一样,都是一个相对 ...

随机推荐

  1. mysql 移除服务,并在cmd下切换目录

    实际中需要把注册的mysql移除, 一时忘了命令, 特此记录 在网上找的帮助 #Path to installation directory. All paths are usually resolv ...

  2. 从.snk文件导出密钥

    先声明该文的实用性不强, 要产生一对密钥可以有更简单的方法.该文简单解释了.snk文件的格式,并给出了从中提取密钥的C#代码. .snk文件(Strong Name Key)也可以叫签名文件,它一般用 ...

  3. 快速打开 Mac OS X 隐藏的用户资源库文件夹

    在较高版本的 Mac OS X 中,用户的资源库文件夹(/Users/username/Library)默认被系统隐藏了,从 Finder 窗口中不能直接打开. 下面介绍一个非常简单的方法来快速打开用 ...

  4. 【k8s】基础概念 + 工作原理

    工作原理: 原理图 工作原理描述: 1>用户通过kubectl或者API server的REST API接口,提交需要运行的docker容器(创建pod请求): 2>api server将 ...

  5. dotnetty 心跳

    IdleStateHandler 需要提供三个参数: readerIdleTimeSeconds, 读超时. 即当在指定的事件间隔内没有从 Channel 读取到数据时, 会触发一个 READER_I ...

  6. byte数组怎么存放到Json中传递

    可以把byte[]序列化成base64字符串后,再放json里传输就可以了.不需要考虑每个字节转成一个字符存到json字符串里. String str = Base64.encodeToString( ...

  7. 大西洋帝国第一季/全集Boardwalk Empire1迅雷下载

    大西洋帝国 第一季 Boardwalk Empire Season 1 (2010) 本季看点:1920年,联邦政府颁布禁酒令后,公开售卖酒类商品成为一种违法行为.在新泽西州的西南部的大西洋城没有任何 ...

  8. Kubernetes基础

    Kubernetes是什么 Kubernetes是当今最流行的开源容器管理平台,它就是大名鼎鼎的Google Borg的开源版本.Google在2014年推出了Kubernetes,本文发布时最新的版 ...

  9. SVG.js Marker标记和自定义标签

    一.SVG.Marker 添加标记 SVG.Marker 标记可以被添加到一个线,折线的各点,多边形和路径.有三种类型的标记:开始,中间和结束.如果开始表示第一个点,则结束中间的最后一点和中间点. v ...

  10. PHPUnit安装

    From : http://blog.csdn.net/ruby97/article/details/8868197