使用Notepad++本地调试Wordpress

其实本来只是想装个XAMPP本地改CSS来着。但运行起来之后,发现自己的function里有个警告。就想,能不能debug一下呢?这些可捅了马蜂窝,费了好大周折才搞定调试环境,而CSS的工作却还没开始。感觉像为了吃个拌猪耳朵而养了一头猪一样。不把这养猪的过程分享出来,实在是中心如噎。
大多数资料给出的方案是XdeBug+Eclipse。好处是能够夸平台。但我这儿只是轻量应用,Eclipse基于java的,太臃肿又太慢,所以就找了轻量级的Notepad++的方案。Notepad++(简称NPP)本来就是我主力的文本编辑器——虽然它的作者有点儿秀逗。
本文作成于2015.2.6,使用软件为:Notepad++ Ver.6.7.4,XAMPP Ver.3.2.1,DBGp Ver.0.13b,

一、让NPP支持wordpress函数的自动填写
设置NPP的自动完成功能。把图上那俩checkbox挑上就可以。
NPP_WP_1
下载一个开源xml。地址。把压缩包里面的php.xml解压缩后覆盖到 \你的NPP安装目录\plugins\APIs\ 下即可。官方说不用重启就可以生效,我没有亲见,所以还是重启吧。要注意的事,这份xml已经一年多(2013.10)都没有维护了,所以它是不支持Wordpress4.0-4.1的新函数的。而且作者君自己也说他列出的函数本身就是不全的,所以,仅作参考好了。
敲两个函数验证一下。
NPP_WP_2
NPP_WP_3

二、配置XAMPP中的Xdebug
XAMPP最新版的安装很傻瓜的,所以只是简单说一下怎么在本地搭建woedpress就好了:
运行xampp-control.exe,启动Apache服务和MySQL服务。
NPP_WP_4
在浏览器里敲

http://localhost/phpmyadmin/ 

配置一个wordpress用的数据库。(都会吧)
把最新版的wordpress解压缩到 \你的XAMPP安装目录\htdocs\ 默认的名字是wordpress。然后修改目录下的wp-config.php。(应该也都会,不详述了)
这样你在浏览器里敲

http://localhost/wordpress/

就可以进到本地的wp里了。然后跟你服务器上一样配置自己的wordpress就可以了。如果有心的还可以把自己blog上的数据倒到本地。
下面才是重点:激活Xdebug!
XAMPP是整合了XDebug的,但默认是关闭的。把它打开就好。
编辑 \你的XAMPP安装目录\php\php.ini 把下边注释掉的部分(开头是;的)全部打开。另外注意,xdebug.remote_enable的值一定要改成1!

[XDebug]
zend_extension = "E:\xampp\php\ext\php_xdebug.dll"
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir = "E:\xampp\tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
xdebug.trace_output_dir = "E:\xampp\tmp"

保存之后,通过XAMPP重启Apache服务
在浏览器里敲

http://localhost/xampp/phpinfo.php

如果能找到xdebug的部分,Xdebug的配置就完成了。
NPP_WP_6

三、安装配置NPP的DBGp插件
下载地址
不知道什么原因,这个插件在NPP的PluginManager里是搜不到的。所以需要手动下载并解压缩放到 \你的NPP安装目录\plugins\
重启NPP,配置DBGp。【Plugin】→【DBGp】→【Config】
NPP_WP_5
Remote IP 设为127.0.0.1
IDE Key随便填
Remote Path和Local Path都填本地代码所在目录
OK保存。

四、调试
在浏览器里敲

http://127.0.0.1/wordpress/?XDEBUG_SESSION_START=xdebug

其中等号后面的东西随便填。
在NPP里【Plugin】→【DBGp】→【Debuger】,就可以进行调试了。设断点神马的不用我教吧?

已有11条评论

  1. NPP我偶尔用下,感觉轻巧。尤其是在去除一大段文字空行的时候,呵呵。还有在修改sql的时候,可避免DW的卡死。

    1. 我喜欢用它的批量查找和替换。可以加正则的。

  2. Notepad++我也装了,因为很小~

    1. 而且有丰富的插件。

  3. 学习了

    1. 头一回听说。重点是debug,这东东能吗?

      1. 这个不清楚,我不做开发,只做过调试

        1. 只是一个调试工具.我喜欢轻量级的.

  4. 还是XAMPP更强大啊 其他那些国产的集成环境还是差了些

    1. 用国产的宁可虚拟机装Ubuntu

  5. notepad都能玩的这么高级,我也仅仅是拿它写写html

    1. Notepad++非常好用,最重要是开源的.

  6. 好高端的样子,我一直用一键搭建环境的,也就改改模板CSS之类的,不知道你这个是用来干什么?开发插件?修改wp程序?

    1. 插件和主题都用。我是个插件党。遇到功能比较好的插件,就会想办法搬到自己写的一个大插件里去。实在太大看不懂的才作罢。好处是不会过多调用加载插件接口,而且换主题了也不受影响。通用的功能不喜欢加到function里去。
      之前都是在服务器上直接搞,又慢又容易出错。

      1. 折腾无止境哪,N合一听起来不错

        1. 就是维护起来费劲.好在不太维护.

  7. 我本地搭了个worpress,每次解决一个bug,就上传修改的一部分,如果这东西能自动检测是否存在未关闭的标签就好了

    1. 不能.标签是html的语法,我这个是调php用的.
      html也有专门的工具吧.

  8. 我现在用的是PHPnow,开了多个虚拟主机。多个程度可以一起玩。再用一个域名泛解析到本地,一切都美好了

    1. 没玩那么高级.在单位可不敢这么嚣张.

你好,新朋友。留言前请先填写昵称邮箱