WordPress 在 Linux 下不能向 Gmail 邮箱发邮件的问题

一年前解决了 WordPress 在 Linux 下不能发送邮件的问题,后来有段时间很正常,我的网站接收邮件的邮箱是 Gmail 的。但是近来,网站上有留言时极少收到通知邮件,怀疑是 Debian 下的  exim4 又不能正常工作了。但是试了如下的 PHP 脚本

$ php -a
Interactive mode enabled
php> mail('<my_gmail_account>@gmail.com', 'test subject', 'test content');
php > exit

从命令行上并没有提示任何的错误,但是检查我的 Gmail 信箱,死活就是收不到邮件。即使直接用  mail 命令

echo Hello World | mail -v -s Test <my_gmail_account>@gmail.com

也是不行的。

查看日志文件 /var/log/exim4/mainlog, 发现有下面的错误信息 阅读全文 >>

WordPress 在 Linux 下不能发送邮件的问题

本博客迁移到现在的 VPS 上已是两年有余,在有评论到来时从来就没收到过提醒邮件,以前是放在租的主机上,所以那些都有人配置好了的。其实一直没把 WordPress 未能发送邮件的问题放心上,自己收不到倒无所谓,但评论者接收邮件提醒算是件重要的事。

今天一同事说我的博客无法进行评论,我一段时间以来只有一丝感觉为何这么久没人评论了,只想大家都不爱说话罢了,并未意思到博客本身的问题,也在此表示感谢。于是自己测试了下,登陆用户评论没问题,游客无法评论,最后查到是 wpDiscuzMath Comment Spam Protection 插件起冲突了,于是把后者禁用了就没问题。至于评论提交后响应有些慢是由于不得不用的 Akismet 插件的原因。

为评论的问题既然登陆到了 VPS 上了,也顺便把两年来的邮件发送问题也诊断一下,其实做来很简单,就是当初配置 VPS 时少做了一步。当前所用的 Linux 发行版是  Debian,之前记录过一篇 Debian Linux VPS 为 WordPress 的系统准备,其中提到 WordPress 发送邮件用的是 exim4,

所以第一步,修改 /etc/exim4/update-exim4.conf.conf, dc_eximconfig_configtype 的值由 'local' 改成 'internet'

dc_eximconfig_configtype='internet'

然后重启 exim4 服务,可用命令 service exim4 restart. 阅读全文 >>

WordPress 升级到了 3.9,语法高亮按钮插件更新

WordPress 终于又迎来一次次版本号的升级,带来几个便捷之处,如直接拖拽图片进编辑器中,随意缩放旋转。同时把 TinyMCE 从 4.0.21.1 版,这直接造成了我之前的那个添加代码的自定义工具按钮歇菜了,弹不出选项来。见 语法加亮插件 SyntaxHighlighter 的好伴侣,轻便的 TinyMCE 工具按钮 中描述的那个自定义插件。所以要把该插件升级下,使之兼容 TinyMCE 4,TinyMCE 从 3 到 4 的改变还真不小,界面上看到多了行菜单条,它的 API 变得大了去。

本文参考了:

1. http://www.tinymce.com/wiki.php/API3:method.tinymce.Plugin.createControl
2. http://www.tinymce.com/wiki.php/api4:class.tinymce.Plugin
3. http://www.tinymce.com/tryit/menubutton.php

现在改成了一个带三角的 MenuButton,如图: 阅读全文 >>

Debian Linux VPS 为 WordPress 的系统准备

本人博客几经周折,最初 BPS,到独立的域名、空间,每一次也是为向更自由的管理迈进一步。现在终于搞了个 VPS,不过是在美国的,慢是慢了点,不过自己想怎么弄就怎么弄,现也无需经常性的找客服了。

VPS 是 768M RAM, 1536 的交换空间,40G硬盘空间,2500G带宽,两固定 IP,其实我只要一个就行了。服务器是在我所在的城市,所以管理起来应该要快些,至少感觉会有点。

基于系统资源和稳定性的考虑,我选择了 Debian 系统,Ubuntu 就是基于它的。在一个干净的系统上要搭建 WordPress 需要预先准备好 Apache2+PHP5+MySQL5 这样的环境,Apache2 是以 worker 模式运行,PHP 是 FastCGI 方式,Wordpress 连接 MySQL 可以本地 Socket 方式。下面是步骤:

一. 系统设置

配置时区,方便查看日志能对应上你当地的时间

#dpkg-reconfigure tzdata

选择相应的城市,这步会修改 /etc/timezone 和 /etc/localtime 文件 阅读全文 >>

WordPress 升级到 3.5 之后 Widget 无法拖动, 设置的解决办法

WordPress 升级到 3.5 之后发现 Widget 无法拖动,也无法展开设置。在之前也发生过类似情况,一般来说是某个插件或主题的影响,原来一一试过,才知是因为 Use Google Libraries 这个插件在作祟,禁了就能恢复正常。这回也以为旧病复为,禁为 Use Google Libraries,仍然无济于事。

后通过 FireFox 的 Firebug Console Errors 中看到浏览 Widget 编辑页面时出现脚本错误:

Error: Syntax error, unrecognized expression: #enh_rp-show-select-%i%
...eturn t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=...

点击进去,才发现坏在了  jQuery 1.8.3 上去了,jQuery 我想应该是久经考验的革命 LD 吧,自然黑锅就得让 WordPress 来背了,这时的 WordPress 只能算作是临时工,更时髦的名称是合同工。

查了下,这个问题在 WordPress 的坛子里有不少人上报,有人列出了些解决方案,拣亲身试过的在这里供出来。 阅读全文 >>

WordPress Code Editor 插件让你在线编辑主题/插件即时语法高亮

晚上找了一些时候在线的即时语加亮组件,很多的,在线的代码编辑器就语法即时高亮上都可与客户端的编辑器相媲美了。有商业的,功能很丰富的,也有开源的,像 CodePress,   就很简单它支持 PHP, JavaScript, Java, Perl, SQL, HTML 和 CSS 代码的即时着色,完全由 JavaScript 来进行渲染。

顺着 CodePress 来搜索,恰好还找到一个能让我们在 WordPress 的后台在线编辑插件/主题的代码编辑框中实现语法着色,并且时编辑时实时语法着色哦,那就是插件:WordPress Plugin Code Editor,可以点击 Code Editor  链接下载并安装为 WordPress 的插件。

安装完启用后,使能看到编辑插件/主题时的代码都高亮了,使代码的可读性大大增加,编辑时即时的效果,能让你修改代码时出错的几率明显降低。 阅读全文 >>

WordPress 站点带宽几天就耗尽,都是 WP Gravatar Mini Cache 惹的祸

有两个月里,本站点只能月头坚持七八天,基本处于瘫患状态。访问时就出现几行文字信息,现在不记得啦,大概就是域名被临时挂起了。后来才知道是因为有限的带宽已消耗怠尽,才不允许访问的。似乎这种情况还能给我带来点惊喜,我的网站有这么受欢迎吗!从 Google 的网站分析数据来看,并不是这样,那么就是有异常了。

站点停了几十天后,第一次找了下原因,似乎我站点上提供了几个文件下载量特别大,于是把那几个文件搬到文件分享网站上去分流,还是不奏效,没几天还是收到带宽将要耗尽的邮件通知。是不是别的几个服务器目录中的文件被人拼命下了呢,于是把它们改了名,还用插件对文件的下载进行了监控,未见异常。就这样,仍是没过几天,网站再一次被关闭了,距离月底还有几十天。 阅读全文 >>

16个WordPress中使用的Google服务和应用

Google提供了很多不错的用户端服务和应用,虽然最初是一个搜索引擎,今天Google几乎为每一个用户提供解决方案。当为了满足需求的时候,Google并不忘记满足Web开发人员和设计人员的需求。在这篇文章中,我们将了解一下Google提供了那些主要的服务,并且如何应用到wordpress中的。

16个wordpress博客中使用的Google服务和应用

阅读全文 >>

WordPress 3.2.1 不能保存 Widget 设置

WordPress 升级到 3.2.1 之后,反正有好长一段时间是不能在 Widgets 中,如左边栏或右边栏中增加 Widget 了。因为现在的工作与 WordPress 本身相去较远些,所以未能修改 Widget 几个月了也没去钻研是怎么回事。现象呢就是:既不能增加新的 Widget,也无法移除原有的 Widget,移动位置也是不行的。界面上是允许操作的,在你操作完后,保存完,页面一刷新又变成原样,就是说服务器无法保存你对 Widget 所做的修改,好像只一点是例如,仅仅可以更改已有 Widget 的标题。

想来 WordPress 3.2.1 肯定不会出现这样的低有错误的,必定是哪理冲突了。Google 后找到一篇类似问题的贴子 Can't edit and save saidebar widgets with WordPress 3.2.1,其中有介绍可能是哪个插件或主题引起的问题,有建议说把所有插件关了又启用,看问题是否依然,或使用默认主题看是否无问题。耐心的去试,总能查到罪魁祸首的。 阅读全文 >>

如何在WordPress里使用Featured Image功能

我想大部分人都很清楚WordPress 2.9版本开始,就增加了Featured Image这个功能。而且这样的功能多用于杂志式的主题,从里一个角度来说,用缩略图的形式比摘要输出形式更能体现网站的可读性!这里就介绍下如何为你的 WordPress主题添加Featured Image功能。

首先,看一看你的主题包,在functions.php文件里必须有下面的语句才能开启单篇日志以及页面里的Featured Image功能。

add_theme_support( 'post-thumbnails' );

当然,如果你只希望在单篇日志里开启这样的功能,只要加入

add_theme_support( 'post-thumbnails', array( 'post' ) ); 阅读全文 >>