目录

  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.default到php.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. 使用HttpClient对ASP.NET Web API服务实现增删改查

    本篇体验使用HttpClient对ASP.NET Web API服务实现增删改查. 创建ASP.NET Web API项目 新建项目,选择"ASP.NET MVC 4 Web应用程序&quo ...

  2. 从内存中加载DLL DELPHI版

    //从内存中加载DLL DELPHI版 unit MemLibrary; interface uses Windows; function memLoadLibrary(pLib: Pointer): ...

  3. The Win32 Rundll and Rundll32 Interface Related Topics

    The Win32 Rundll and Rundll32 Interface Related Topics Microsoft Knowledge Base Article Q164787 Appl ...

  4. java数据结构 栈stack

    栈(Stack) 栈(Stack)实现了一个后进先出(LIFO)的数据结构. 你可以把栈理解为对象的垂直分布的栈,当你添加一个新元素时,就将新元素放在其他元素的顶部. 当你从栈中取元素的时候,就从栈顶 ...

  5. spring-boot项目在eclipse中指定配置文件启动

    原文:https://blog.csdn.net/ztx114/article/details/80076339 如下图我的项目有三个配置文件,假如我向指定用application-test.yml启 ...

  6. 解决eclipse中web项目出现Project facet Java version 1.8 is not supported.的问题

    项目的jdk和tomcat的jdk版本不同,将eclipse-preference-server-runtime environments点击你要用的tomcat点击edit-jre选择和你项目对应的 ...

  7. 灵书妙探第八季/全集Castle迅雷下载

    英文全名Castle,第8季(2015)ABC.本季看点:<灵书妙探>讲述性格和背景迥异的两人在不断的斗嘴与摩擦中竟然渐渐培养出了默契,成了名符其实的最佳搭档.在上季Richard Cas ...

  8. 《Linux系统编程(第2版)》

    <Linux系统编程(第2版)> 基本信息 作者: (美)Robert Love 译者: 祝洪凯 李妹芳 付途 出版社:人民邮电出版社 ISBN:9787115346353 上架时间:20 ...

  9. C# Process获取当前进程信息

    1.获取当前进程信息整理 Process.GetCurrentProcess(),返回当前程序的进程对象. Process cur = Process.GetCurrentProcess(); //当 ...

  10. ImportError: No module named model_libs

    在运行ssd时遇到这个问题 实际是python接口的路径不对,使用echo $$PYTHONPATH  弹出当前python路径,发现是caffe自己的python接口,采用 export PYTHO ...