Typecho安装出现Warning: Cannot modify header information-headers already sent by…

特别说明下,这个报错是虚拟主机安装typecho出现的,如果是VPS或者服务器的话,直接环境修改下没有这么麻烦的,但是虚拟主机不一样,毕竟是没有那么多权限,所以遇到这种问题,就曲线方式处理,本处理方法非部落创造,收集自网络,不对操作或者后续承担责任,请读者朋友们务必留意。

tp_err01

我是在一个CP面板虚拟主机上安装的,在填写完数据库及其他必要信息提交后,就出现了如上图所见的报错,试了几次都是如此,解决方法是直接导入一个已安装完成的typecho的数据库跳过安装步骤…

数据库下载地址(百度网盘):https://pan.baidu.com/s/1v_FUCf-1KW2tijh6pFQz6A 提取码: 79fv

下载下来之后,导入数据库即可,导入后直接访问网站,已经安装好了,系统管理登录用户名为admin,密码admin123,自行登陆修改。

数据库代码(您也可以自行修改好后保存导入)

/*
Navicat MySQL Data Transfer

Source Server         : www.zrblog.com
Source Server Version : 50722
Source Host           : www.zrblog.com:3306
Source Database       : typecho

Target Server Type    : MYSQL
Target Server Version : 50722
File Encoding         : 65001

Date: 2018-12-20 11:11:44
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for typecho_comments
-- ----------------------------
DROP TABLE IF EXISTS `typecho_comments`;
CREATE TABLE `typecho_comments` (
  `coid` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `cid` int(10) unsigned DEFAULT '0',
  `created` int(10) unsigned DEFAULT '0',
  `author` varchar(200) DEFAULT NULL,
  `authorId` int(10) unsigned DEFAULT '0',
  `ownerId` int(10) unsigned DEFAULT '0',
  `mail` varchar(200) DEFAULT NULL,
  `url` varchar(200) DEFAULT NULL,
  `ip` varchar(64) DEFAULT NULL,
  `agent` varchar(200) DEFAULT NULL,
  `text` text,
  `type` varchar(16) DEFAULT 'comment',
  `status` varchar(16) DEFAULT 'approved',
  `parent` int(10) unsigned DEFAULT '0',
  PRIMARY KEY (`coid`),
  KEY `cid` (`cid`),
  KEY `created` (`created`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of typecho_comments
-- ----------------------------

-- ----------------------------
-- Table structure for typecho_contents
-- ----------------------------
DROP TABLE IF EXISTS `typecho_contents`;
CREATE TABLE `typecho_contents` (
  `cid` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(200) DEFAULT NULL,
  `slug` varchar(200) DEFAULT NULL,
  `created` int(10) unsigned DEFAULT '0',
  `modified` int(10) unsigned DEFAULT '0',
  `text` longtext,
  `order` int(10) unsigned DEFAULT '0',
  `authorId` int(10) unsigned DEFAULT '0',
  `template` varchar(32) DEFAULT NULL,
  `type` varchar(16) DEFAULT 'post',
  `status` varchar(16) DEFAULT 'publish',
  `password` varchar(32) DEFAULT NULL,
  `commentsNum` int(10) unsigned DEFAULT '0',
  `allowComment` char(1) DEFAULT '0',
  `allowPing` char(1) DEFAULT '0',
  `allowFeed` char(1) DEFAULT '0',
  `parent` int(10) unsigned DEFAULT '0',
  `views` int(10) DEFAULT '0',
  PRIMARY KEY (`cid`),
  UNIQUE KEY `slug` (`slug`),
  KEY `created` (`created`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of typecho_contents
-- ----------------------------
INSERT INTO `typecho_contents` VALUES ('2', '关于我', 'start-page', '1538536800', '1545227322', '<!--markdown-->本页面由 Typecho 创建, 这只是个测试页面.', '2', '1', null, 'page', 'publish', null, '0', '1', '1', '1', '0', '0');
INSERT INTO `typecho_contents` VALUES ('3', '存档', '3', '1545193311', '1545193311', '<!--markdown-->', '0', '1', 'all.php', 'page', 'publish', null, '0', '1', '1', '1', '0', '0');
INSERT INTO `typecho_contents` VALUES ('4', 'Java ArrayList工作原理及实现', '4', '1545197640', '1545228176', '<!--markdown-->\r\n<!--more-->\r\n\r\n### 1. 概述\r\n关于Java集合的小抄中是这样描述的:\r\n\r\n> 以数组实现。节约空间,但数组有容量限制。超出限制时会增加50%容量,用System.arraycopy()复制到新的数组,因此最好能给出数组大小的预估值。默认第一次插入元素时创建大小为10的数组。按数组下标访问元素—get(i)/set(i,e) 的性能很高,这是数组的基本优势。\r\n直接在数组末尾加入元素—add(e)的性能也高,但如果按下标插入、删除元素—add(i,e), remove(i), remove(e),则要用System.arraycopy()来移动部分受影响的元素,性能就变差了,这是基本劣势。\r\n\r\n然后再来学习一下官方文档:\r\n\r\n> Resizable-array implementation of the List interface. Implements all optional list operations, and permits all elements, including null. In addition to implementing the List interface, this class provides methods to manipulate the size of the array that is used internally to store the list. (This class is roughly equivalent to Vector, except that it is unsynchronized.)\r\n\r\nArrayList是一个相对来说比较简单的数据结构,最重要的一点就是它的自动扩容,可以认为就是我们常说的“动态数组”。\r\n```\r\npublic class ArrayList<E> extends AbstractList<E>\r\n        implements List<E>, RandomAccess, Cloneable, java.io.Serializable\r\n```\r\nArrayList类主要是继承AbstractList类并实现了List接口,实现Cloneable和Serializable接口使得ArrayList具有克隆和序列化的功能。\r\n\r\n#### 属性\r\n\r\nArrayList类中主要有两个属性,如下:\r\n```\r\ntransient Object[] elementData; //elementData数组用来存储ArrayList中的元素,从这个可以看出,ArrayList是底层是借组于数组来实现的。\r\nprivate int size;//此属性用来记录ArrayList中存储的元素的个数。\r\n```\r\nArrayList中还有一个默认容量大小属性以及两个空数组属性。它们的声明如下:\r\n\r\n1、默认初始容量\r\n```\r\nprivate static final int DEFAULT_CAPACITY = 10;//默认初始容量\r\n```\r\n2、下面两个是共享空常量数组,用于空的实例对象,第二个与第一个的区别文档上面是这么说的:\r\n\r\nWe distinguish this from EMPTY_ELEMENTDATA to know how much to inflate when first element is added.\r\n\r\n翻译一下就是与EMPTY_ELEMENTDATA数组的区别在于当第一个元素被加入进来的时候它知道如何扩张;在源码中函数add(E e)中的第一行代码中的所在的函数就是这句话的实现。\r\n```\r\nprivate static final Object[] EMPTY_ELEMENTDATA = {};\r\n//下面这个是共享空常量数组\r\nprivate static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {};\r\n```\r\n\r\n\r\n#### 构造函数\r\n\r\nArrayList类共有3个构造函数,下面一一进行介绍。\r\n\r\n##### 1、无参构造函数\r\n```\r\n/**\r\n  * Constructs an empty list with an initial capacity of ten.\r\n    构造一个初始容量为10的空列表\r\n  */\r\npublic ArrayList() {\r\n  this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA;\r\n}\r\n```\r\n源码上介绍的功能为:  \r\n构造一个初始容量为 10 的空列表。\r\n \r\n但是这里,默认构造方法只干了一件事,就是将elementData初始化为一个空数组。\r\n\r\n那么,为什么说它的默认初始容量是10呢?\r\n \r\n答案是 -- 第一次添加元素时。\r\n\r\n##### 2、指定容量作为参数的构造函数\r\n```\r\npublic ArrayList(int initialCapacity) {\r\n        if (initialCapacity > 0) {\r\n            this.elementData = new Object[initialCapacity];\r\n        } else if (initialCapacity == 0) {\r\n            this.elementData = EMPTY_ELEMENTDATA;\r\n        } else {\r\n            throw new IllegalArgumentException(\"Illegal Capacity: \"+ initialCapacity);                                       \r\n        }\r\n    }\r\n```\r\n从源码可以看到,就是根据参数的大小作为容量来实例化底层的数组对象,其中对参数的3中情况进行了处理。当参数小于0时,抛异常。当参数等于0时,用空的常量数组对象EMPTY_ELEMENTDATA来初始化底层数组elementData。\r\n\r\n##### 3、Collection作为参数的构造函数\r\n```\r\npublic ArrayList(Collection<? extends E> c) {\r\n        elementData = c.toArray();\r\n        if ((size = elementData.length) != 0) {\r\n            // c.toArray might (incorrectly) not return Object[] (see 6260652)\r\n            if (elementData.getClass() != Object[].class)\r\n                elementData = Arrays.copyOf(elementData, size, Object[].class);\r\n        } else {\r\n            // replace with empty array.\r\n            this.elementData = EMPTY_ELEMENTDATA;\r\n        }\r\n    }\r\n```\r\n从源码可以看到,将容器Collection转化为数组赋给数组elementData,还对Collection转化是否转化为了Object[]进行了检查判断。如果Collection为空,则就将空的常量数组对象EMPTY_ELEMENTDATA赋给了elementData;\r\n \r\n\r\n\r\n来看一段简单的代码:\r\n```\r\nArrayList<String> list = new ArrayList<String>();\r\nlist.add(\"语文: 99\");\r\nlist.add(\"数学: 98\");\r\nlist.add(\"英语: 100\");\r\nlist.remove(0);\r\n```\r\n在执行这四条语句时,是这么变化的:\r\n![](https://cloud.githubusercontent.com/assets/1736354/6993037/5d4ba306-db19-11e4-85fb-61b0154d0d96.png)\r\n\r\n其中,add操作可以理解为直接将数组的内容置位,remove操作可以理解为删除index为0的节点,并将后面元素移到0处。\r\n\r\n#### 2. add函数\r\n当我们在ArrayList中增加元素的时候,会使用add函数。他会将元素放到末尾。具体实现如下:\r\n```\r\npublic boolean add(E e) {\r\n    ensureCapacityInternal(size + 1);  // Increments modCount!!\r\n    elementData[size++] = e;\r\n    return true;\r\n}\r\n```\r\n我们可以看到他的实现其实最核心的内容就是ensureCapacityInternal。这个函数其实就是自动扩容机制的核心。我们依次来看一下他的具体实现\r\n```\r\nprivate void ensureCapacityInternal(int minCapacity) {\r\n    if (elementData == DEFAULTCAPACITY_EMPTY_ELEMENTDATA) {\r\n        minCapacity = Math.max(DEFAULT_CAPACITY, minCapacity);\r\n    }\r\n    ensureExplicitCapacity(minCapacity);\r\n}\r\nprivate void ensureExplicitCapacity(int minCapacity) {\r\n    modCount++;\r\n    // overflow-conscious code\r\n    if (minCapacity - elementData.length > 0)\r\n        grow(minCapacity);\r\n}\r\nprivate void grow(int minCapacity) {\r\n    // overflow-conscious code\r\n    int oldCapacity = elementData.length;\r\n    // 扩展为原来的1.5倍\r\n    int newCapacity = oldCapacity + (oldCapacity >> 1);\r\n    // 如果扩为1.5倍还不满足需求,直接扩为需求值\r\n    if (newCapacity - minCapacity < 0)\r\n        newCapacity = minCapacity;\r\n    if (newCapacity - MAX_ARRAY_SIZE > 0)\r\n        newCapacity = hugeCapacity(minCapacity);\r\n    // minCapacity is usually close to size, so this is a win:\r\n    elementData = Arrays.copyOf(elementData, newCapacity);//第一次添加元素时,newCapacity的大小其实就是DEFAULT_CAPACITY (10)\r\n}\r\n```\r\n上面grow函数中最后一条语句elementData = Arrays.copyOf(elementData, newCapacity);的功能就是将原来的数组中的元素复制扩展到大小为newCapacity的新数组中,并返回这个新数组。Arrays.copyOf(elementData, newCapacity)的源码如下:\r\n```\r\npublic static int[] copyOf(int[] original, int newLength) {\r\n        int[] copy = new int[newLength];\r\n        System.arraycopy(original, 0, copy, 0,\r\n                         Math.min(original.length, newLength));\r\n        return copy;\r\n    }\r\n\r\n```\r\n也就是说,当增加数据的时候,如果ArrayList的大小已经不满足需求时,那么就将数组变为原长度的1.5倍,之后的操作就是把老的数组拷到新的数组里面。例如,默认的数组大小是10,也就是说当我们add10个元素之后,再进行一次add时,就会发生自动扩容,数组长度由10变为了15具体情况如下所示:\r\n![](https://cloud.githubusercontent.com/assets/1736354/6993129/e892246e-db1c-11e4-9ae8-f9719688a1ca.png)\r\n#### 3 set和get函数\r\nArray的put和get函数就比较简单了,先做index检查,然后执行赋值或访问操作:\r\n```\r\npublic E set(int index, E element) {\r\n    rangeCheck(index);\r\n    E oldValue = elementData(index);\r\n    elementData[index] = element;\r\n    return oldValue;\r\n}\r\npublic E get(int index) {\r\n    rangeCheck(index);\r\n    return elementData(index);\r\n}\r\n```\r\n#### 4 remove函数\r\n```\r\npublic E remove(int index) {\r\n    rangeCheck(index);\r\n    modCount++;\r\n    E oldValue = elementData(index);\r\n    int numMoved = size - index - 1;\r\n    if (numMoved > 0)\r\n        // 把后面的往前移\r\n        System.arraycopy(elementData, index+1, elementData, index,\r\n                         numMoved);\r\n    // 把最后的置null\r\n    elementData[--size] = null; // clear to let GC do its work\r\n    return oldValue;\r\n\r\n```\r\n\r\n#### clear\r\n\r\n最后要介绍的函数就是这个了,清除ArrayList中所有的元素。\r\n\r\n直接将数组中的所有元素设置为null即可,这样便于垃圾回收。\r\n```\r\npublic void clear() {\r\n        modCount++;\r\n        // clear to let GC do its work\r\n        for (int i = 0; i < size; i++)\r\n            elementData[i] = null;\r\n\r\n        size = 0;\r\n    }\r\n```\r\n### 小结:\r\n\r\n1. ArrayList的默认初始容量的确是10;\r\n1. 使用默认构造方法实例化ArrayList,只初始化了一个空数组;\r\n1. 第一次调用add()方法时,数组才会被扩容,数组大小为默认的初始容量--10(2是前提)\r\n\r\n##### ArrayList的插入速度比LinkedList的慢?\r\n\r\n- 所以:应该改为 -- **随机**插入元素时,ArrayList的速度比LinkedList的慢。\r\n- 并且 删除元素的道理也是一样的,所以应该是 -- **随机增删元素时,ArrayList的速度比LinkedList的慢**。\r\n\r\n\r\n##### 为什么ArrayList的elementData是用transient修饰的?\r\n\r\n看到ArrayList实现了Serializable接口,这意味着ArrayList是可以被序列化的,用transient修饰elementData意味着我不希望elementData数组被序列化。这是为什么?因为序列化ArrayList的时候,ArrayList里面的elementData未必是满的,比方说elementData有10的大小,但是我只用了其中的3个,那么是否有必要序列化整个elementData呢?显然没有这个必要,因此ArrayList中重写了writeObject方法:\r\n```\r\n    private void writeObject(java.io.ObjectOutputStream s)\r\n        throws java.io.IOException{\r\n        // Write out element count, and any hidden stuff\r\n        int expectedModCount = modCount;\r\n        s.defaultWriteObject();\r\n\r\n        // Write out size as capacity for behavioural compatibility with clone()\r\n        s.writeInt(size);\r\n\r\n        // Write out all elements in the proper order.\r\n        for (int i=0; i<size; i++) {\r\n            s.writeObject(elementData[i]);\r\n        }\r\n\r\n        if (modCount != expectedModCount) {\r\n            throw new ConcurrentModificationException();\r\n        }\r\n    }\r\n```\r\n\r\n\r\n每次序列化的时候调用这个方法,先调用defaultWriteObject()方法序列化ArrayList中的非transient元素,elementData不去序列化它,然后遍历elementData,只序列化那些有的元素,这样:\r\n\r\n- 1、加快了序列化的速度\r\n- 2、减小了序列化之后的文件大小\r\n\r\n\r\nhttp://yikun.github.io/2015/04/04/Java-ArrayList%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86%E5%8F%8A%E5%AE%9E%E7%8E%B0/\r\nhttps://blog.csdn.net/u010412719/article/details/51108357\r\nhttps://www.cnblogs.com/xrq730/p/4989451.html\r\nhttp://www.cnblogs.com/shadowdoor/p/9203926.html\r\n\r\n', '0', '1', null, 'post', 'publish', null, '0', '1', '1', '1', '0', '51');

-- ----------------------------
-- Table structure for typecho_fields
-- ----------------------------
DROP TABLE IF EXISTS `typecho_fields`;
CREATE TABLE `typecho_fields` (
  `cid` int(10) unsigned NOT NULL,
  `name` varchar(200) NOT NULL,
  `type` varchar(8) DEFAULT 'str',
  `str_value` text,
  `int_value` int(10) DEFAULT '0',
  `float_value` float DEFAULT '0',
  PRIMARY KEY (`cid`,`name`),
  KEY `int_value` (`int_value`),
  KEY `float_value` (`float_value`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of typecho_fields
-- ----------------------------

-- ----------------------------
-- Table structure for typecho_metas
-- ----------------------------
DROP TABLE IF EXISTS `typecho_metas`;
CREATE TABLE `typecho_metas` (
  `mid` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(200) DEFAULT NULL,
  `slug` varchar(200) DEFAULT NULL,
  `type` varchar(32) NOT NULL,
  `description` varchar(200) DEFAULT NULL,
  `count` int(10) unsigned DEFAULT '0',
  `order` int(10) unsigned DEFAULT '0',
  `parent` int(10) unsigned DEFAULT '0',
  PRIMARY KEY (`mid`),
  KEY `slug` (`slug`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of typecho_metas
-- ----------------------------
INSERT INTO `typecho_metas` VALUES ('1', 'vps', 'vps', 'category', 'vps', '1', '1', '0');
INSERT INTO `typecho_metas` VALUES ('2', '服务器', 'servers', 'category', '服务器', '0', '2', '0');
INSERT INTO `typecho_metas` VALUES ('3', 'typecho', 'typecho', 'category', 'typecho', '0', '3', '0');

-- ----------------------------
-- Table structure for typecho_options
-- ----------------------------
DROP TABLE IF EXISTS `typecho_options`;
CREATE TABLE `typecho_options` (
  `name` varchar(32) NOT NULL,
  `user` int(10) unsigned NOT NULL DEFAULT '0',
  `value` text,
  PRIMARY KEY (`name`,`user`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of typecho_options
-- ----------------------------
INSERT INTO `typecho_options` VALUES ('theme', '0', '7tec');
INSERT INTO `typecho_options` VALUES ('theme:Typecho', '0', 'a:6:{s:7:\"logoUrl\";N;s:12:\"sidebarBlock\";a:4:{i:0;s:12:\"ShowCategory\";i:1;s:12:\"ShowHotPosts\";i:2;s:18:\"ShowRecentComments\";i:3;s:9:\"ShowOther\";}s:10:\"Sidebarads\";N;s:10:\"Commentads\";N;s:5:\"beian\";N;s:9:\"Analytics\";N;}');
INSERT INTO `typecho_options` VALUES ('timezone', '0', '28800');
INSERT INTO `typecho_options` VALUES ('lang', '0', null);
INSERT INTO `typecho_options` VALUES ('charset', '0', 'UTF-8');
INSERT INTO `typecho_options` VALUES ('contentType', '0', 'text/html');
INSERT INTO `typecho_options` VALUES ('gzip', '0', '0');
INSERT INTO `typecho_options` VALUES ('generator', '0', 'Typecho 1.1/17.10.30');
INSERT INTO `typecho_options` VALUES ('title', '0', '赵容部落');
INSERT INTO `typecho_options` VALUES ('description', '0', 'stay hungry,stay foolish.Keep moving on');
INSERT INTO `typecho_options` VALUES ('keywords', '0', 'typecho,php,blog,github,java,spring,springboot,activemq,jvm,netty');
INSERT INTO `typecho_options` VALUES ('rewrite', '0', '0');
INSERT INTO `typecho_options` VALUES ('frontPage', '0', 'recent');
INSERT INTO `typecho_options` VALUES ('frontArchive', '0', '0');
INSERT INTO `typecho_options` VALUES ('commentsRequireMail', '0', '1');
INSERT INTO `typecho_options` VALUES ('commentsWhitelist', '0', '0');
INSERT INTO `typecho_options` VALUES ('commentsRequireURL', '0', '0');
INSERT INTO `typecho_options` VALUES ('commentsRequireModeration', '0', '0');
INSERT INTO `typecho_options` VALUES ('plugins', '0', 'a:2:{s:9:\"activated\";a:0:{}s:7:\"handles\";a:0:{}}');
INSERT INTO `typecho_options` VALUES ('commentDateFormat', '0', 'F jS, Y \\a\\t h:i a');
INSERT INTO `typecho_options` VALUES ('siteUrl', '0', 'http://www.zrblog.com');
INSERT INTO `typecho_options` VALUES ('defaultCategory', '0', '1');
INSERT INTO `typecho_options` VALUES ('allowRegister', '0', '0');
INSERT INTO `typecho_options` VALUES ('defaultAllowComment', '0', '1');
INSERT INTO `typecho_options` VALUES ('defaultAllowPing', '0', '1');
INSERT INTO `typecho_options` VALUES ('defaultAllowFeed', '0', '1');
INSERT INTO `typecho_options` VALUES ('pageSize', '0', '5');
INSERT INTO `typecho_options` VALUES ('postsListSize', '0', '10');
INSERT INTO `typecho_options` VALUES ('commentsListSize', '0', '10');
INSERT INTO `typecho_options` VALUES ('commentsHTMLTagAllowed', '0', null);
INSERT INTO `typecho_options` VALUES ('postDateFormat', '0', 'Y-m-d');
INSERT INTO `typecho_options` VALUES ('feedFullText', '0', '1');
INSERT INTO `typecho_options` VALUES ('editorSize', '0', '350');
INSERT INTO `typecho_options` VALUES ('autoSave', '0', '0');
INSERT INTO `typecho_options` VALUES ('markdown', '0', '1');
INSERT INTO `typecho_options` VALUES ('xmlrpcMarkdown', '0', '0');
INSERT INTO `typecho_options` VALUES ('commentsMaxNestingLevels', '0', '5');
INSERT INTO `typecho_options` VALUES ('commentsPostTimeout', '0', '2592000');
INSERT INTO `typecho_options` VALUES ('commentsUrlNofollow', '0', '1');
INSERT INTO `typecho_options` VALUES ('commentsShowUrl', '0', '1');
INSERT INTO `typecho_options` VALUES ('commentsMarkdown', '0', '0');
INSERT INTO `typecho_options` VALUES ('commentsPageBreak', '0', '0');
INSERT INTO `typecho_options` VALUES ('commentsThreaded', '0', '1');
INSERT INTO `typecho_options` VALUES ('commentsPageSize', '0', '20');
INSERT INTO `typecho_options` VALUES ('commentsPageDisplay', '0', 'last');
INSERT INTO `typecho_options` VALUES ('commentsOrder', '0', 'ASC');
INSERT INTO `typecho_options` VALUES ('commentsCheckReferer', '0', '1');
INSERT INTO `typecho_options` VALUES ('commentsAutoClose', '0', '0');
INSERT INTO `typecho_options` VALUES ('commentsPostIntervalEnable', '0', '1');
INSERT INTO `typecho_options` VALUES ('commentsPostInterval', '0', '60');
INSERT INTO `typecho_options` VALUES ('commentsShowCommentOnly', '0', '0');
INSERT INTO `typecho_options` VALUES ('commentsAvatar', '0', '1');
INSERT INTO `typecho_options` VALUES ('commentsAvatarRating', '0', 'G');
INSERT INTO `typecho_options` VALUES ('commentsAntiSpam', '0', '1');
INSERT INTO `typecho_options` VALUES ('routingTable', '0', 'a:26:{i:0;a:25:{s:5:\"index\";a:6:{s:3:\"url\";s:1:\"/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";s:4:\"regx\";s:8:\"|^[/]?$|\";s:6:\"format\";s:1:\"/\";s:6:\"params\";a:0:{}}s:7:\"archive\";a:6:{s:3:\"url\";s:6:\"/blog/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";s:4:\"regx\";s:13:\"|^/blog[/]?$|\";s:6:\"format\";s:6:\"/blog/\";s:6:\"params\";a:0:{}}s:2:\"do\";a:6:{s:3:\"url\";s:22:\"/action/[action:alpha]\";s:6:\"widget\";s:9:\"Widget_Do\";s:6:\"action\";s:6:\"action\";s:4:\"regx\";s:32:\"|^/action/([_0-9a-zA-Z-]+)[/]?$|\";s:6:\"format\";s:10:\"/action/%s\";s:6:\"params\";a:1:{i:0;s:6:\"action\";}}s:4:\"post\";a:6:{s:3:\"url\";s:24:\"/archives/[cid:digital]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";s:4:\"regx\";s:26:\"|^/archives/([0-9]+)[/]?$|\";s:6:\"format\";s:13:\"/archives/%s/\";s:6:\"params\";a:1:{i:0;s:3:\"cid\";}}s:10:\"attachment\";a:6:{s:3:\"url\";s:26:\"/attachment/[cid:digital]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";s:4:\"regx\";s:28:\"|^/attachment/([0-9]+)[/]?$|\";s:6:\"format\";s:15:\"/attachment/%s/\";s:6:\"params\";a:1:{i:0;s:3:\"cid\";}}s:8:\"category\";a:6:{s:3:\"url\";s:17:\"/category/[slug]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";s:4:\"regx\";s:25:\"|^/category/([^/]+)[/]?$|\";s:6:\"format\";s:13:\"/category/%s/\";s:6:\"params\";a:1:{i:0;s:4:\"slug\";}}s:3:\"tag\";a:6:{s:3:\"url\";s:12:\"/tag/[slug]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";s:4:\"regx\";s:20:\"|^/tag/([^/]+)[/]?$|\";s:6:\"format\";s:8:\"/tag/%s/\";s:6:\"params\";a:1:{i:0;s:4:\"slug\";}}s:6:\"author\";a:6:{s:3:\"url\";s:22:\"/author/[uid:digital]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";s:4:\"regx\";s:24:\"|^/author/([0-9]+)[/]?$|\";s:6:\"format\";s:11:\"/author/%s/\";s:6:\"params\";a:1:{i:0;s:3:\"uid\";}}s:6:\"search\";a:6:{s:3:\"url\";s:19:\"/search/[keywords]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";s:4:\"regx\";s:23:\"|^/search/([^/]+)[/]?$|\";s:6:\"format\";s:11:\"/search/%s/\";s:6:\"params\";a:1:{i:0;s:8:\"keywords\";}}s:10:\"index_page\";a:6:{s:3:\"url\";s:21:\"/page/[page:digital]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";s:4:\"regx\";s:22:\"|^/page/([0-9]+)[/]?$|\";s:6:\"format\";s:9:\"/page/%s/\";s:6:\"params\";a:1:{i:0;s:4:\"page\";}}s:12:\"archive_page\";a:6:{s:3:\"url\";s:26:\"/blog/page/[page:digital]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";s:4:\"regx\";s:27:\"|^/blog/page/([0-9]+)[/]?$|\";s:6:\"format\";s:14:\"/blog/page/%s/\";s:6:\"params\";a:1:{i:0;s:4:\"page\";}}s:13:\"category_page\";a:6:{s:3:\"url\";s:32:\"/category/[slug]/[page:digital]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";s:4:\"regx\";s:34:\"|^/category/([^/]+)/([0-9]+)[/]?$|\";s:6:\"format\";s:16:\"/category/%s/%s/\";s:6:\"params\";a:2:{i:0;s:4:\"slug\";i:1;s:4:\"page\";}}s:8:\"tag_page\";a:6:{s:3:\"url\";s:27:\"/tag/[slug]/[page:digital]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";s:4:\"regx\";s:29:\"|^/tag/([^/]+)/([0-9]+)[/]?$|\";s:6:\"format\";s:11:\"/tag/%s/%s/\";s:6:\"params\";a:2:{i:0;s:4:\"slug\";i:1;s:4:\"page\";}}s:11:\"author_page\";a:6:{s:3:\"url\";s:37:\"/author/[uid:digital]/[page:digital]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";s:4:\"regx\";s:33:\"|^/author/([0-9]+)/([0-9]+)[/]?$|\";s:6:\"format\";s:14:\"/author/%s/%s/\";s:6:\"params\";a:2:{i:0;s:3:\"uid\";i:1;s:4:\"page\";}}s:11:\"search_page\";a:6:{s:3:\"url\";s:34:\"/search/[keywords]/[page:digital]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";s:4:\"regx\";s:32:\"|^/search/([^/]+)/([0-9]+)[/]?$|\";s:6:\"format\";s:14:\"/search/%s/%s/\";s:6:\"params\";a:2:{i:0;s:8:\"keywords\";i:1;s:4:\"page\";}}s:12:\"archive_year\";a:6:{s:3:\"url\";s:18:\"/[year:digital:4]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";s:4:\"regx\";s:19:\"|^/([0-9]{4})[/]?$|\";s:6:\"format\";s:4:\"/%s/\";s:6:\"params\";a:1:{i:0;s:4:\"year\";}}s:13:\"archive_month\";a:6:{s:3:\"url\";s:36:\"/[year:digital:4]/[month:digital:2]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";s:4:\"regx\";s:30:\"|^/([0-9]{4})/([0-9]{2})[/]?$|\";s:6:\"format\";s:7:\"/%s/%s/\";s:6:\"params\";a:2:{i:0;s:4:\"year\";i:1;s:5:\"month\";}}s:11:\"archive_day\";a:6:{s:3:\"url\";s:52:\"/[year:digital:4]/[month:digital:2]/[day:digital:2]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";s:4:\"regx\";s:41:\"|^/([0-9]{4})/([0-9]{2})/([0-9]{2})[/]?$|\";s:6:\"format\";s:10:\"/%s/%s/%s/\";s:6:\"params\";a:3:{i:0;s:4:\"year\";i:1;s:5:\"month\";i:2;s:3:\"day\";}}s:17:\"archive_year_page\";a:6:{s:3:\"url\";s:38:\"/[year:digital:4]/page/[page:digital]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";s:4:\"regx\";s:33:\"|^/([0-9]{4})/page/([0-9]+)[/]?$|\";s:6:\"format\";s:12:\"/%s/page/%s/\";s:6:\"params\";a:2:{i:0;s:4:\"year\";i:1;s:4:\"page\";}}s:18:\"archive_month_page\";a:6:{s:3:\"url\";s:56:\"/[year:digital:4]/[month:digital:2]/page/[page:digital]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";s:4:\"regx\";s:44:\"|^/([0-9]{4})/([0-9]{2})/page/([0-9]+)[/]?$|\";s:6:\"format\";s:15:\"/%s/%s/page/%s/\";s:6:\"params\";a:3:{i:0;s:4:\"year\";i:1;s:5:\"month\";i:2;s:4:\"page\";}}s:16:\"archive_day_page\";a:6:{s:3:\"url\";s:72:\"/[year:digital:4]/[month:digital:2]/[day:digital:2]/page/[page:digital]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";s:4:\"regx\";s:55:\"|^/([0-9]{4})/([0-9]{2})/([0-9]{2})/page/([0-9]+)[/]?$|\";s:6:\"format\";s:18:\"/%s/%s/%s/page/%s/\";s:6:\"params\";a:4:{i:0;s:4:\"year\";i:1;s:5:\"month\";i:2;s:3:\"day\";i:3;s:4:\"page\";}}s:12:\"comment_page\";a:6:{s:3:\"url\";s:53:\"[permalink:string]/comment-page-[commentPage:digital]\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";s:4:\"regx\";s:36:\"|^(.+)/comment\\-page\\-([0-9]+)[/]?$|\";s:6:\"format\";s:18:\"%s/comment-page-%s\";s:6:\"params\";a:2:{i:0;s:9:\"permalink\";i:1;s:11:\"commentPage\";}}s:4:\"feed\";a:6:{s:3:\"url\";s:20:\"/feed[feed:string:0]\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:4:\"feed\";s:4:\"regx\";s:17:\"|^/feed(.*)[/]?$|\";s:6:\"format\";s:7:\"/feed%s\";s:6:\"params\";a:1:{i:0;s:4:\"feed\";}}s:8:\"feedback\";a:6:{s:3:\"url\";s:31:\"[permalink:string]/[type:alpha]\";s:6:\"widget\";s:15:\"Widget_Feedback\";s:6:\"action\";s:6:\"action\";s:4:\"regx\";s:29:\"|^(.+)/([_0-9a-zA-Z-]+)[/]?$|\";s:6:\"format\";s:5:\"%s/%s\";s:6:\"params\";a:2:{i:0;s:9:\"permalink\";i:1;s:4:\"type\";}}s:4:\"page\";a:6:{s:3:\"url\";s:12:\"/[slug].html\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";s:4:\"regx\";s:22:\"|^/([^/]+)\\.html[/]?$|\";s:6:\"format\";s:8:\"/%s.html\";s:6:\"params\";a:1:{i:0;s:4:\"slug\";}}}s:5:\"index\";a:3:{s:3:\"url\";s:1:\"/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";}s:7:\"archive\";a:3:{s:3:\"url\";s:6:\"/blog/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";}s:2:\"do\";a:3:{s:3:\"url\";s:22:\"/action/[action:alpha]\";s:6:\"widget\";s:9:\"Widget_Do\";s:6:\"action\";s:6:\"action\";}s:4:\"post\";a:3:{s:3:\"url\";s:24:\"/archives/[cid:digital]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";}s:10:\"attachment\";a:3:{s:3:\"url\";s:26:\"/attachment/[cid:digital]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";}s:8:\"category\";a:3:{s:3:\"url\";s:17:\"/category/[slug]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";}s:3:\"tag\";a:3:{s:3:\"url\";s:12:\"/tag/[slug]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";}s:6:\"author\";a:3:{s:3:\"url\";s:22:\"/author/[uid:digital]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";}s:6:\"search\";a:3:{s:3:\"url\";s:19:\"/search/[keywords]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";}s:10:\"index_page\";a:3:{s:3:\"url\";s:21:\"/page/[page:digital]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";}s:12:\"archive_page\";a:3:{s:3:\"url\";s:26:\"/blog/page/[page:digital]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";}s:13:\"category_page\";a:3:{s:3:\"url\";s:32:\"/category/[slug]/[page:digital]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";}s:8:\"tag_page\";a:3:{s:3:\"url\";s:27:\"/tag/[slug]/[page:digital]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";}s:11:\"author_page\";a:3:{s:3:\"url\";s:37:\"/author/[uid:digital]/[page:digital]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";}s:11:\"search_page\";a:3:{s:3:\"url\";s:34:\"/search/[keywords]/[page:digital]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";}s:12:\"archive_year\";a:3:{s:3:\"url\";s:18:\"/[year:digital:4]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";}s:13:\"archive_month\";a:3:{s:3:\"url\";s:36:\"/[year:digital:4]/[month:digital:2]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";}s:11:\"archive_day\";a:3:{s:3:\"url\";s:52:\"/[year:digital:4]/[month:digital:2]/[day:digital:2]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";}s:17:\"archive_year_page\";a:3:{s:3:\"url\";s:38:\"/[year:digital:4]/page/[page:digital]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";}s:18:\"archive_month_page\";a:3:{s:3:\"url\";s:56:\"/[year:digital:4]/[month:digital:2]/page/[page:digital]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";}s:16:\"archive_day_page\";a:3:{s:3:\"url\";s:72:\"/[year:digital:4]/[month:digital:2]/[day:digital:2]/page/[page:digital]/\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";}s:12:\"comment_page\";a:3:{s:3:\"url\";s:53:\"[permalink:string]/comment-page-[commentPage:digital]\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";}s:4:\"feed\";a:3:{s:3:\"url\";s:20:\"/feed[feed:string:0]\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:4:\"feed\";}s:8:\"feedback\";a:3:{s:3:\"url\";s:31:\"[permalink:string]/[type:alpha]\";s:6:\"widget\";s:15:\"Widget_Feedback\";s:6:\"action\";s:6:\"action\";}s:4:\"page\";a:3:{s:3:\"url\";s:12:\"/[slug].html\";s:6:\"widget\";s:14:\"Widget_Archive\";s:6:\"action\";s:6:\"render\";}}');
INSERT INTO `typecho_options` VALUES ('actionTable', '0', 'a:0:{}');
INSERT INTO `typecho_options` VALUES ('panelTable', '0', 'a:0:{}');
INSERT INTO `typecho_options` VALUES ('attachmentTypes', '0', '@image@');
INSERT INTO `typecho_options` VALUES ('secret', '0', '^WLo9eWf*G^ExF5Ot4W4Ev0TbsZiXZVT');
INSERT INTO `typecho_options` VALUES ('installed', '0', '1');
INSERT INTO `typecho_options` VALUES ('allowXmlRpc', '0', '2');
INSERT INTO `typecho_options` VALUES ('theme:7tec', '0', 'a:6:{s:7:\"logoUrl\";s:0:\"\";s:12:\"sidebarBlock\";a:4:{i:0;s:12:\"ShowCategory\";i:1;s:12:\"ShowHotPosts\";i:2;s:18:\"ShowRecentComments\";i:3;s:9:\"ShowOther\";}s:10:\"Sidebarads\";s:16:\" 广告招租中\";s:10:\"Commentads\";s:16:\" 广告招租中\";s:5:\"beian\";s:0:\"\";s:9:\"Analytics\";s:0:\"\";}');

-- ----------------------------
-- Table structure for typecho_relationships
-- ----------------------------
DROP TABLE IF EXISTS `typecho_relationships`;
CREATE TABLE `typecho_relationships` (
  `cid` int(10) unsigned NOT NULL,
  `mid` int(10) unsigned NOT NULL,
  PRIMARY KEY (`cid`,`mid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of typecho_relationships
-- ----------------------------
INSERT INTO `typecho_relationships` VALUES ('4', '1');

-- ----------------------------
-- Table structure for typecho_users
-- ----------------------------
DROP TABLE IF EXISTS `typecho_users`;
CREATE TABLE `typecho_users` (
  `uid` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(32) DEFAULT NULL,
  `password` varchar(64) DEFAULT NULL,
  `mail` varchar(200) DEFAULT NULL,
  `url` varchar(200) DEFAULT NULL,
  `screenName` varchar(32) DEFAULT NULL,
  `created` int(10) unsigned DEFAULT '0',
  `activated` int(10) unsigned DEFAULT '0',
  `logged` int(10) unsigned DEFAULT '0',
  `group` varchar(16) DEFAULT 'visitor',
  `authCode` varchar(64) DEFAULT NULL,
  PRIMARY KEY (`uid`),
  UNIQUE KEY `name` (`name`),
  UNIQUE KEY `mail` (`mail`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of typecho_users
-- ----------------------------
INSERT INTO `typecho_users` VALUES ('1', 'admin', '$P$BJ3wUh3rXPDz6QM9vaal2cPI27GEhJ0', '[email protected]', 'http://www.zrblog.com', 'zhao', '1538536806', '1545271255', '1538537238', 'administrator', '0d50611a55ad2d13532640b9f900adaa');

【AD】美国洛杉矶CN2 VPS/香港CN2 VPS/日本CN2 VPS推荐,延迟低、稳定性高、免费备份_搬瓦工vps

【AD】RackNerd 推出的 KVM VPS 特价优惠,在纽约、西雅图、圣何塞和阿什本每年仅需 12.88 美元!