THE MOMENT, THE MEMENTO

2008年10月30日

操作系统升级

标签: — 吴德文 @ 16:21

学了一阵子FleaPHP以后,再去看Zend Framework,觉得还是Zend的设计比较好一些,就想开始用Zend在网站上写一些小应用。

根据手册的快速入门写了一些基本的文件后,发现在服务器上无法运行,一片空白(当然当时忘了把display_errors设成on了,也没法知道具体是啥错误)。我首先想到的就是可能PHP版本不够,毕竟之前的系统太老了,安装的时候是FC4,打那以后就再也没有升级过。

通过yum去list,发现php根本就没有升级包。希望做一个全系统升级,但是yum update后,不是报header错误,就是报一些包的checksum错误,甚至搞得下来的新内核完全无法使用。

一怒之下,连夜安装一个新的系统好了。先安装新系统,然后备份旧系统上的数据库(这个部分好麻烦,即要数据库数据,还要数据库的用户设置等,尤其是pgsql,导出来的sql语句恢复时会出错)。网站数据最好办,所有东西都放在/home一个卷下,而且又是存储上的卷,分配给新系统就搞定了;再就是恢复数据库,修改各服务的配置文件,然后就可以上线了。

似乎好像很简单,不过还是弄了很久。主要是很难统计要备份哪些东西,如果都能弄成文件系统直接转移过去就好了。

此外,新系统设置SELinux为on会有问题。旧系统没有去管context的问题,所以一些wwwroot会提示找不到。以前都是用setfiles来解决的,很麻烦,不过这次知道了chcon命令,很好用,哈哈。另外php要连接非本地数据库的时候会出错,不知道需要什么context权限,目前只好把SELinux禁用了。


Related:

2008年10月15日

WordPress升级后发现角色名无法汉化

标签:, , — 吴德文 @ 02:59

晚上给用WordPress正在上的多核程序设计课程建了一个网站,就顺便也把自己更新了一下。现在期待2.7版,据说后台菜单有变化。

10月16 日,发现用户管理里部分身份没有汉化。

查了很久,终于找到WordPress是把角色定义放在wp_options表的一条记录(option_name=’wp_user_roles’,保存在option_value)里。

新版本(具体哪个版本开始就不知道了)的角色名比旧版的多了“|User role”字符串。估计在版本升级的时候并没有去改数据库里的值,因此系统里使用使用的是旧版角色名,在新的汉化字典里找不到相应的索引值,无法汉化。

看来把应用系统的对象格式作为记录写入数据库是挺危险的,万一这次不是要汉化角色的name值,而是利用那么值来判断什么,可能就要出错了。


Related:

Valid XHTML 1.1 Valid CSS! Creative Commons License WordPress 所驱动