周淼(MillsonZhou)的个人博客,记录、收藏、分享

typecho数据库自动备份插件for0.8

当前最新版本:1.0.7
支持:只测试了typecho 0.8
发现bug请及时联系我进行修改,谢谢。。。

简单介绍:
看到typecho官方论坛上有数据库管理插件的需求,就研究了以下typecho的插件开发方法,最终得出了这个插件,很粗糙,但应该能够满足基本的需求了吧。

使用方法:
1. 下载压缩包,解压缩
2. 将AutoBackup文件夹上传至/usr/plugins/中
3. 登陆后台,启用插件
4. 进入设置项设置
*如果自动备份了会在AutoBackup目录下生成备份文件

数据还原:
可以先安装typecho,然后在phpmyadmin中导入备份文件;
或者,先创建一个数据库,导入备份文件,然后安装typecho的时候选择这个数据库

插件升级:
1. 禁用现有插件
2. 上传新版文件,覆盖即可(除config.xml文件)
3. 启用插件

@1.0.7
Bug修复
*生成的备份文件中sql语句注释不正确导致还原数据时发生错误,hellowind还原数据时发现的问题
功能修改及更新:
*建立backupfiles文件夹,以后备份的文件都放在这个文件夹中,插件目录不会显得凌乱,插件升级后,现有的文件可以移植该目录下
*选择发送备份文件至邮箱时,发送成功后,删除服务器上的备份文件
*重大更新:修改了还原数据库的方式,将创建表的sql也写入了备份文件中,以后只要建立一个数据库,然后导入备份文件即可,不需要先导入install/mysql.sql文件了,防止使用了其他插件造成的表结构的变化,造成数据还原失败

@1.0.6
*class.phpmailer.php和class.smtp.php也进行了打包,方便首次使用本插件的童鞋
Bug修复
*修复一个implode()函数的bug

@1.0.5
*跳过了1.0.4版本号,因为不吉利,哈哈
*只打包了config.xml和Plugin.php文件,class.phpmailer.php和class.smtp.php请使用上一版本的
*必须替换config.xml文件,因为其结构有变化
功能修改及更新:
1. 不再使用helloword插件的接口,转为调用撰写文章和发表回复的接口,每次写新日志或者发表评论的时候加以判断,如果需要备份,则备份
2. 去除“每周备份时间”的设置,改为按“周期备份”
3. 新增“自定义邮件标题”的设置
*如有感觉不适者,还是继续使用1.0.3吧

@1.0.3
BUG修复:
*不写SMTP端口无法保存的BUG

@1.0.2
*添加发送备份文件至邮箱功能,仅在本地测试gmail、qq、126、163,该功能需socket支持
*如果你确定没有socket支持,请勿更新;如不确定,升级插件设置好后报错:
SMTP Error: Could not connect to SMTP host.
*说明服务器不支持socket,请重新下载1.0.1版本插件或者取消选项“发送到邮箱”

@1.0.1
Bug修复:
*当checkbox表单没有任何选中时,in_array()函数的报错

@1.0.0
*使用helloword插件的接口,访问后台的所有页面都会进行判断

下载地址:
AutoBackup.1.0.7.zip

typecho从sqlite转为mysql

折腾了半天,终于还是把sqlite转成了mysql,因为平时使用的都是mysql,还是不花时间去搞sqlite了,毕竟两者还是有一定的区别的。
本想写个插件,后来想想算了,有此需求的人太少,并且我的日志数还比较少,靠人工可以转换。
先下了个sqlite developer,把数据库.db文件导出为.sql文件,与mysql导出的格式有一点小区别,如

1
2
mysql:
INSERT INTO `typecho_relationships` (`cid`, `mid`) VALUES ('1','1')

1
2
sqlite:
INSERT INTO [typecho_relationships] ([cid], [mid]) VALUES ("1","1")

把该替换的都替换了,结果还是出现了两个问题:
1.typecho_contents表里的slug字段是唯一的,但是我有两个图片名都是1.jpg,然后slug字段值也都是1-jpg,结果就报错了,按理说应该不会出现这样的问题的,难道这也是sqlite与mysql的区别?
2.typecho_options表里的routingTable对应的value字段的值可能太大了,所以sqlite developer导出的时候没导全还是其他什么问题,总之这一条数据插入也报错,后来的解决方法是从install.php文件中直接复制的初始数据

删除SVN版本控制目录

1
2
3
4
5
6
7
8
9
@echo On
@Rem 删除SVN版本控制目录
@PROMPT [Com]#
@for /r . %%a in (.) do @if exist "%%a.svn" rd /s /q "%%a.svn"
@rem for /r . %%a in (.) do @if exist "%%a.svn" echo "%%a.svn"
@echo Mission Completed.
@pause

windows7安装zendstudio5.5.1更简单的方法

windows7中安装zendstudio5.5.1会出现:1.按钮、单选框和复选框等都无法显示,给正确配置带来困难;2.全部点下一步安装完成了,也无法打开,只是一闪就不见了。

网上提供的方法基本上都是一个老外写的:


1、下载并安装最新版本的 JRE for Windows: http://java.com/en/download/manual.jsp
2、使用WINRAR解压 Zend Studio 5.5.1.exe
3、进入解压后的文件夹 Zend Studio 5.5.Windows ,将resource目录下的jre文件夹重命名
4、复制 C:Program Files Javajre6到第三步中的目录,并将jre6重命名为jre
5、执行解压缩文件夹下的 Zend Studio 5.5.1.exe
6、安装完成后将resource 目录中的jre重命名文件夹复制到Zend Studio 的安装目录中
7、重命名安装目录中的jre 文件夹为 jre6
8、重命名安装目录中的jre重命名文件夹为 jre
9、在ZendStudio图标上点击右键/属性/兼容性 设置兼容模式为 Vista
10、启动Zend Studio

仔细观察可以看到,其实安装新版jre的目的只是为了安装zendstudio的时候可以看到无法显示的内容,因为旧版的jre与windows7不兼容,装完之后就没什么用了,所以按照这个步骤安装的话太繁琐了,其实完全可以不用这么复杂,下面是我提供的方法(强烈推荐):


1.设置windows主题为“windows经典”
2.安装zendstudio5.5.1,安装完毕之后,再将快捷方式的兼容性改为“windows vista”
3.把windows主题改回来
返回顶部