搭建本地WordPress开发调试环境

WordPress的运行环境是很传统的Apache + MySQL + PHP,其中PHP用的是PHP5,因此部署过程中应该不会有很难解决的问题,只不过步骤可能会比较繁琐。除此以外就是调试的配置需要摸索一阵子。

一开始我曾想过花钱买MAMP PRO来搭建WordPress的本地开发环境(MAMP免费版本只支持PHP7),图省事。但后来还是决定自己折腾,省下这笔钱。于是花了那么几天自己搭建了一套本地WordPress编码、运行和调试环境。除了Apache + MySQL + PHP之外,为了能在编辑器中单步调试,我还给PHP加装了Xdebug扩展,并给Vim编辑器加装了Vdebug插件。最终我将自己的WordPress站点从云主机拷贝到了本地,并在Vim中愉快地编写和调试里面的PHP代码:

让我哭笑不得的是,在我把环境搭建好一个月后写这篇文章的过程中,才发现其实Mac本身已经自带了Apache和PHP,并不用我自己去下载源代码再安装。

继续阅读搭建本地WordPress开发调试环境

让WordPress媒体库支持外链图片

最近有一个月左右没更新了,因为这个月的业余时间都在忙于一个WordPress插件:External Media without Import。

其实只是很小很简单的一个插件,代码不过短短几百行。不过这东西一旦被当成产品认真做起来,依然让我感到——每天在上班时间以外,应对完工作上的需求和bug之后,接着还要在业余时间认真做好另一个产品是多么劳心劳力。这是我正式发布并打算认真维护的第一个个人项目。为此我还自己设计制作了用于WordPress官方渠道的插件图标和Banner:

闲话少说,还是来介绍一下这个插件。先列出插件地址。

插件的WordPress官方渠道地址:

https://wordpress.org/plugins/external-media-without-import/

插件的Github地址:

https://github.com/zzxiang/external-media-without-import

继续阅读让WordPress媒体库支持外链图片

排查Mac中的Finder无限卡住的问题

某个周末,Mac突然抽风。Finder卡住,鼠标变成了风火轮一直在转。除了Finder以外的其它程序可以打开勉强使用,但那些程序打开没多久也会卡住。用活动监视器也无法让Finder强制退出;用命令行killall杀掉Finder进程也没用,它马上就会重启然后继续卡住。重启系统也没用。于是Finder就一直这样处于未响应状态,进而导致整个系统卡死:

继续阅读排查Mac中的Finder无限卡住的问题

Ionic中不合理的view层级导致afterEnter没有被调用

在公司的ionic项目中我们定义了如下状态:

其中views里面的root是在index.html里定义的ion-nav-view:

并且ABCtrl和ACDCtrl的代码中都注册监听了afterEnter事件。

按理说从状态A.B跳转到状态A.C.D时,ACDCtrl里的afterEnter会被执行,可实际运行的时候却没有。但是从E跳转到A.C.D则没有问题,ACDCtrl里的afterEnter会如期被调用。从E跳到A.B也没有问题,ABCtrl里的afterEnter也会执行。

公司项目的ionic lib版本是1.3.1:

本文末尾附上了我自己写的一个ionic小项目专用于重现这个问题。该项目的ionic lib版本是1.3.3:

于是我钻进了ionic的代码里研究了一番。

继续阅读Ionic中不合理的view层级导致afterEnter没有被调用