分类:PHP

修复 WordPress RSS 输出空行错误

前几天有兄弟问我怎么博客好久不更新了,我说虽然更新的不勤快,但还是有更新啊。检查一下,发现原来是 WordPress 从去年开始输出的 RSS Feed 就出错了 This page contains the following errors: error on line 3 at column 6: XML d...

Read More.

用 selfoss 自己动手搭建 web rss 阅读器

用了好多年的 Google Reader 还有一个月就正式寿终正寝了,目前 Google 还没有收回成命的迹象,唉。虽然国内国外有很多类似服务,但或多或少有些问题,那有没有可能自己搞个呢(不讨论桌面客户端和移动客户端)?

当然可以,托开源社区的福,有好多 rss reader web 程序可以拿来直接用。最近比较有名的是 Tiny-Tiny-RSS,但是这货我用下来,更新源要点两次,灰常不爽,UI 也比较老土;比较老牌的 rsslounge 已经停止更新,项目页上的官网也已经指向 selfoss。那就来看看 selfoss 吧。 Read More.

修改 WordPress 用户登录 Cookie 过期时间

WordPress 默认的用户登录 Cookie(Auth Cookie) 过期时间并不算太长,在勾选了“记住我”的情况下为 14 天,否则为 48 小时。在常规使用的情况下,最长为14天的过期时间已经够用,但如果要构建一个需要长期保持登录状态的项目的话,14 天显然是不够的。幸好 WordPress 提供了一个 hook 允许自行修改 Cookie 过期时间,只需要一个简单的 filter 就可以实现。

1
2
3
4
5
6
7
add_filter('auth_cookie_expiration', 'custom_cookie_expiration', 99, 3);
function custom_cookie_expiration($expiration, $user_id = 0, $remember = true) {
    if($remember) {
        $expiration = 31536000;
    }
    return $expiration;
}

把上面的代码粘贴到当前主题的 functions.php 文件里,就可以把在勾选“记住我”的情况下把 Auth Cookie 的过期时间设置为 365 天,$expiration 为 Auth Cookie 过期时间的时间戳,你可以自行设定。

给 windows 下的 nginx + php 添加 zend 和 eAc

昨天我们简单搭建了 Windows 平台下的 nginx + php 环境,但是没有添加 zend 和 eac 加速器。原来添加 zend 的方法不行了,因为我们安装的是 nts (非线程安全)的 php,而原来的 zend 只是为 ts 的 php 编译的,直接装上会报错。

我找了下互联网,找到这么个东西 ZendOptimizer for PHP 5.2.1 nts,虽然不是最新版本,好歹能用。下载回来解压到 d:\wnmp\zend。在 php.ini 里最末位添加

[Zend]
zend_extension=”D:\wnmp\zend\ZendOptimizer.dll”

eAccelerator 也一样,要用 nts 版本的。到这里下载

另外,这个网站编译了很多 php 5.3.x 的版本提供下载,给安装 php 5.3 系列的朋友用。

下载回来后,放到 d:\php\ext 目录下,在 php.ini 末尾添加

[eAccelerator]
extension=”eAccelerator_nts.dll
eaccelerator.shm_size=”16″
eaccelerator.cache_dir=”D:\Temp\eAccelerator”
eaccelerator.enable=”1″
eaccelerator.optimizer=”1″
eaccelerator.check_mtime=”1″
eaccelerator.debug=”0″
eaccelerator.filter=””
eaccelerator.shm_max=”0″
eaccelerator.shm_ttl=”0″
eaccelerator.shm_prune_period=”0″
eaccelerator.shm_only=”0″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″
eaccelerator.content = “shm_and_disk”

保存,重启 nginx + php,打开phpinfo,验证通过,结束。

windows 下的 nginx + php 环境搭建

这几天有一台 Web 服务器一直不定时出现无法访问的情况,远程一看,Apache 进程占用内存极高,而这台服务器偏偏内存不富裕,就像换成目前极度流行的 nginx 试试。

nginx 是一个轻量级的高性能 Http WebServer,以事件驱动方式编写,因此相比 Apache 而言,Nginx 更加稳定、性能更好,而且配置简单,资源占用较低。目前 Windows 下的稳定版本是 1.0.14,可以在官网免费下载。 Read More.

配置 IIS 6 用 FastCGI 方式加载 PHP5

到昨天为止,公司的服务器一直是用 ISAPI 方式调用的PHP,但是今天调试一个系统,必须要求 FastCGI 方式。

FastCGI 是可伸缩架构的 CGI 开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。传统的 CGI 解释器的反复加载是 CGI 性能低下的主要原因,如果CGI 解释器保持在内存中并接受 FastCGI 进程管理器调度,则可以提供良好的性能、伸缩性等。

FastCGI 已经集成于 IIS7,我公司的服务器是 Windows 2003 的 IIS6,必需另外安装扩展。到微软网站下载吧 x86 / x64。微软也有官方的安装说明

Read More.

修复 Windows Installer

今天安装新版本的emeditor时,突然提示“不能访问 Windows Installer 服务,可能你在安全模式下运行 Windows ,或者Windows Installer 没有正确的安装,请和你的支持人员联系以获得帮助”。重启也没用,上网搜了搜,很多解决办法,总结如下:

Read More.

1 2 3