Sablog-X 1.6 => Wordpress 2.2.3 转换程序 - 080422 测试版

这个转换程序终于算是完成了, 不过我只简单测试了一下, 欢迎各位网友进行测试.

我不建议菜鸟进行这个测试, 因为比较危险, 我当初转了2天, 试了不知道多少次才转过来, 虽然这个是全自动的, 但我也不敢保障, 如果有很需要转换而且觉得不把握的, 可以留言或者发email免费咨询, 如果觉得自己做不了的但很需要转的, 我可以提供收费援助.

注意: 使用前一定要备份! 一定 !!! 否则后果自负 !!!!!

__ 使用说明 __
准备事项:
1)备份要转换的sablog-x数据表及附件
2)准备一个本地php+mysql环境, 推荐xampp 3)创建程序目录结构如下
sa-wp/
sa-wp/sa/
sa-wp/wp/
4)分别在sa/和wp/下安装sablog-x 1.6和wordpress 2.2.3, 要转换其他版本的请对比一下版本之间数据库有没有改动, 没有才可以进行转换, 然后再升级wordpress就可以, 如果数据库结构不同, 那不好意思了. 注意sablog-x的表名前缀要和要转换的设置相同,sa和wp的表要放在同一数据库下.
5)将备份导入sablog-x, 将附件附件放到sablog-x内
6)将转换程序放在sa-wp/目录下

配置参数:
修改转换程序的设置,修改如下内容:

$s[‘hostname’] = ‘localhost’;    # 数据库地址
$s[‘username’] = ‘root’;    # 数据库帐号
$s[‘password’] = ‘’;        # 数据库密码
$s[‘dbname’]   = ‘s-w’;        # 数据库名
$s[‘sa_pre’]   = ‘sablog_’;    # sablog-x表名前缀
$s[‘wp_pre’]   = ‘wp_’;        # wordpress表名前缀
$s[‘sa_dir’]   = ‘sa/‘;        # sablog-x安装目录
$s[‘wp_dir’]   = ‘wp/‘;        # wordpress安装目录
$s[‘wp_url’]   = ‘http://www.foolbird.net/‘;    # 网站访问地址, 注意后面加/

运行转换程序…

收尾工作:

1)进入wordpress后台, 或者使用phpmyadmin导出数据表内容
2)将空间上的sablog-x彻底删除. 全新安装wordpress 2.2.3, 将wp-content/uploads上传到服务器的wp-content下, 然后清空数据库, 导入刚刚导出的数据.

转换程序:

sa-wp_080422

当年我做过的面试题目

刚刚看了bobhero准备的考试题, 是做留言本的, 所以想起了我以前做的一套面试题.

个人觉得这套题还是不错的, geel花了不少心思出的, 题先发出来, 答案整理过后再跟上.

__ 1.php __

__ 试题 __

XHTML和CSS方面的问题不允许借用dreamweaver之类的工具。

一、php方面

1、打开1.php,在文件里写一个类Test实现ITest接口。(如果不会实现接口可以直接改写成类)
2、在当前目录下写一个文件 1-1.php,依次调用你刚才写的Test类的所有method。
3、上述代码(interface ITest)中,public修饰符是什么意思?同类修饰符还有哪些?各有什么意义?
4、上述代码中,function前面为什么要加static关键字?php的关键字和函数区别大小写吗?
4.1、文件 1.php 中不添加结尾的 “?>” 可以运行吗?不添加 “?>” 有什么作用吗?
5、=== 和 == 有什么区别?
6、引用的利弊?一般来说各自在什么情况下用?function如何返回引用?如何给一个function传递引用?
7、一个典型web程序(例如一个论坛)的性能瓶颈通常来说在什么地方?一般采用什么什么方法来提高执行效率?
8、一般用什么办法判断当前页面是用户 post而不是get?

二、XHTML和CSS以及javascript方面
9、简述两条w3c关于XHTML1.0的规范
10、访问过的超链接样式不再具有css里定义的hover和active了,问题的原因可能是?解决方法是?
答案::visited
11、定义一个层,用css实现下列样式:高200px,宽300px,其边框宽度为1px,边框颜色为红色,背景颜色为蓝色,文字颜色为白色,文字水平和垂直居中,文字大小14px,粗体
12、设有 <ul><li>aaa</li><li>bbb</li></ul>,用css使aaa和bbb显示在同一行上。
答案:display:inline;
13、onblur事件在什么时机被触发?
答案:失去焦点
14、请指出body是什么元素的子元素?
答案:document
15、设有如下HTML代码:
<input type=”text” id=”companyName” />
<p id=”company”></p>
<input type=”button” onclick=”setCompanyName()” value=”设置公司名” />
请完成 setCompanyName() 方法,使点击按钮的时候,将<p>中的文字设置为输入框中的文字。如果点击按钮时输入框里没有文字,弹出“请输入文字”的提示。
16、使用过哪些js类库?

三、其他部分
17、使用过哪些发行版本的Linux?喜欢他们的哪些地方?
18、在linux下面你一般用什么方法安装一个软件?
19、bash下面 ls -lah 代表什么意思?
19、rm -i 代表什么意思?rm -f 呢?
20、你用什么办法登录到一台 linux 主机?21、一个文件的权限为 764,表示什么意思?用什么命令将这个文件的权限改为 700?
22、FTP传输过程中binary和ascii模式有什么区别?
23、一个ftp服务器ip为1.2.3.4,端口为123,用户名是 andy,密码是 xyz,要求下载 movie 目录下的 1.rm,请写出可以直接下载这个文件的 URL
24、HTTP返回代码中404代表什么含义?302呢?
25、<script src=”a.js?0607”></script>,请问为什要写问号及其后面的内容?
答案:防止缓存
26、假设第1题中某一个方法你不知道怎么实现,一般情况下你会通过哪些途径来解决?

CentOS+Apache+PHP+MYSQL+Python+Trac

这个是我给公司配服务器时候做的记录, 先占个位置, 以后补全.

CentOS 4.5

操作系统用的是CentOS 4.5 , 主要是因为CentOS不会有版权问题.

MYSQL 5.0.5la

root@localhost

shell> groupadd mysql
shell> useradd -g mysql mysql

shell> ./configure –prefix=/usr/local/mysql
shell> make
shell> make install
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> cd /usr/local/mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> bin/mysql_install_db –user=mysql
shell> chown -R root .
shell> chown -R mysql var
shell> bin/mysqld_safe –user=mysql &

#echo '/usr/local/mysql/bin/mysqld_safe –user=mysql &' >> /etc/rc.local

Apache没有用2.2, 而是用了2.0, 比较稳定也足够用.

APACHE 2.0.63

DocumentRoot /usr/local/apache2/htdocs

shell> ./configure –prefix=/usr/local/apache2 –enable-dav –enable-dav-fs –enable-so –enable-rewrite
shell> make
shell> make install

PHP 5.2.5

shell> ./configure –with-apxs2=/usr/local/apache2/bin/apxs –with-mysql=/usr/local/mysql –prefix=/usr/local/php5

shell> make
shell> make install
shell> cp php.ini-dist /usr/local/php5/lib/php.ini

shell> vim /usr/local/apache2/conf/httpd.conf

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

DirectoryIndex index.php index.html index.htm

AllowOverride All

/etc/rc.d/rc5.d/S97lamp

/usr/local/mysql/bin/mysqld_safe –user=mysql &
/usr/local/apache2/bin/apachectl start

下面这些东西是给php提供gd支持的.

zlib 1.2.3

freetype 2.1.10

libpng 1.2.25

jpeg-6b

gd 2.0.33

tar zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make
make install

tar zxvf freetype-2.1.10.tar.gz
cd freetype-2.1.10
./configure –prefix=/usr/local/modules/freetype
make
make install

tar zxvf libpng-1.2.8-config.tar.gz
cd libpng-1.2.8-config
./configure
make
make install

tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
./configure –prefix=/usr/local/modules/jpeg6 –enable-shared –enable-static
make
make install

tar zxvf gd-2.0.33.tar.gz
cd gd-2.0.33
./configure –prefix=/usr/local/modules/gd –with-jpeg=/usr/local/modules/jpeg6 –with-png –with-zlib –with-freetype=/usr/local/modules/freetype
make
make install

先把目录建了, 要不编译的时候会找不到文件夹.

mkdir jpeg6

mkdir jpeg6/include

mkdir jpeg6/lib

mkdir jpeg6/bin

mkdir jpeg6/man

mkdir jpeg6/man/man1

shell> ./configure –with-apxs2=/usr/local/apache2/bin/apxs –with-mysql=/usr/local/mysql –prefix=/usr/local/php5 –with-iconv –with-mbstring –enable-mbstring –with-jpeg-dir=/usr/local/jpeg6/ –with-zlib –with-png –with-freetype-dir=/usr/local/freetype/ –with-gd=/usr/local/gd/

Subversion 1.4.6

shell>./configure –prefix=/usr/local/subversion

一开始打算用mysql来存放账号密码的, 建好了数据表但是没有用.

CREATE DATABASE svn;
CREATE TABLE user (
username varchar(25) collate utf8_unicode_ci NOT NULL default ‘’,
passwd varchar(25) collate utf8_unicode_ci NOT NULL default ‘’,
groups varchar(25) collate utf8_unicode_ci NOT NULL default ‘’,
PRIMARY KEY (username),
KEY groups (groups)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

mod_python 3.3.1

./configure –with-apxs=/usr/local/apache2/bin/apx
make
make install

clearsilver-0.10.5

shell>./configure –disable-apache –disable-csharp –disable-ruby –prefix=/usr/local/clearsliver –with-python

shell>make

shell>make install

shell>cd python/

PYTHON_SITE='python -C
“import sys; print [path for path in sys.path if path.find('site-packages') != -1][0]”'

shell>python setup.py install

mysql-python 1.2.2

set.cfg
修改mysql_config绝对路径
安全线程->false
shell>python setup.py build
shell>puthon setup.py install

trac 0.11b2

tar zxvf trac-0.10.4.tar.gz

python ./setup.py install

trac-admin /usr/local/trac/order initenv    (/usr/loca/trac 目录会自动创建)

#Project Name [My Project]> test
#Database connection string [sqlite:db/trac.db]> mysql://trac:trac@localhost/trac  //前面创建数据库所用的到信息
#Repository type [svn]>     //这里为空,直接回车
#Path to repository [/path/to/repos]> /var/svn/order   //SVN仓库地址

<Location /trac>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /usr/local/trac
SetEnv PYTHON_EGG_CACHE /tmp
PythonOption TracUriRoot /trac
AuthType Basic
AuthName “test's trac”
AuthUserFile /var/svn/passwd
Require valid-user

说说现在的办公环境

以前都是自己写东西, 没有注意到团队上的问题, 上班之后发现团队合作和工具的使用是很重要的.

硬件不说, 公司没有很大财力, 我觉得比较理想的是一个人有两台以上的办公电脑, 那样工作效率会比较高, 现在一台电脑用起来很吃力, 特别是最近的项目都用windows 2007 的onenote来写开发文档, 不能跑到linux下写代码了.

版本控制公司用的是svn, 版本控制, 好处不多说, 用起来的确很方便, 只是配的时候不太方便, 现在用的服务器是我配的, 当时配了svn+apache, 还配了trac(一款python的项目管理系统, 可以在web下查看svn记录, 还有bug跟踪等等功能), 但是很少用.

写开发文档目前在用office 2007 的onenote, 这个东西很不错, 可以多人同时修改同一个文档, 而且功能也很强大, 以后准备架设一个office的服务器, 因为onenote使用时必须有一台电脑开共享, 不是很方便.

开发工具大家都用ZDE, 后来有用ZDE for Eclipse的, 功能的确很强大, 还架设了Zend Server, 用来调试php, 功能非常棒, 只是我不喜欢IDE, 所以一直在用EditPlus, 不过用EditPlus的确是有好处的, 因为用ZDE的人普遍反映会记不住很多东西, 因为ZDE太强大了,同事特别推荐我用Emeditor,也很不错, 感觉比EditPlus更强大, 更通用, 只是两款软件都有通病,就是都是收费软件, 其实ZDE也是.

服务器用的是CentOS, 因为不会有版权问题, 公司的打卡系统是自己开发的, 用起来不是很舒服.

我和同事之间经常用用VNC, 就是远程桌面, 这样就免得来回跑了, 公司内部聊天室用IPMSG的, 很小很强大, 开源免费.

同事设计数据库和程序结构的时候用 Enterprice Architect, 这个东西我不太用, 只是用来看别人的设计, 不过这个东西功能还是很好的, 结构关系一目了然, 设计完毕可以直接生成程序代码和sql.

我的电脑上装的东西比较少, 开发环境是Xampp, 以前是AMPXE, 但是后来感觉的确太精简了…

因为经常要测试网页兼容性, 所以IE, Firefox2, Firefox3, Opera都有装, 我应该算装的比较少的, 以前比较喜欢Opera, 因为opera有同步收藏夹功能, 不过后来又回到firefox下了, 现在firefox3出道beta5了, 的确很不错.

ftp软件装了filezilla,  , 管理服务器用的是putty, 还装了pidgin,这个很方便, 开机自启动, QQ,MSN,G-Talk全都齐全了, QQ音乐, 基本上这是工作时候唯一的娱乐,只要一开机, 音乐一定会响起.

桌面是google日历, 平时把计划都写在上面,还有个鱼鱼桌面秀的天气预报放在桌面上.

还有就是我从来不装杀毒软件, 后来装了个安全卫士360, 感觉还不错, 防火墙也够用, 可以做一些清理和防护, 还有简单的杀毒. 前一阵子和磁碟机干上了, 又装了一个usb Cleaner的usb监控.

就写这些, 想起其他的再补上.

debian下编译pidgin2.4.0

edited on March 7, 2008 3:50 PM, 这篇文章是在服务器down掉的日子里写在google doc里的.

终于在debian下成功编译了pidgin2.4.0,简单记录一下.

多数情况下编译不成功或者不能编译都是因为缺少库文件, 下面是编译pidgin2.4.0用到的库,我的debian版本是4.*

  • gcc

  • autoconf

  • gdb

  • automake1.9

  • libgtk2.0-dev

  • libxml2-dev

  • gettext

  • libnss3-dev

  • libnspr4-dev

  • build-essential

  • libxml-parser-perl

  • libglib2.0-dev

  • libglib2.0-dev

  • libgstreamer0.10-dev

  • libnss-dev(用来解决msn的ssl支持问题)

然后
./configure   make make install

后记: 刚刚用linux的时候在网上找编译相关的教程, 一个网友说解决编译失败最简单的方法是把光盘中全部的库都装上… 不过由于我比较懒, 并没有那么长时间来试.