Typecho安装出现Warning: Cannot modify header information

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

我是在一个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\', \'本页面由 Typecho 创建, 这只是个测试页面.\', \'2\', \'1\', null, \'page\', \'publish\', null, \'0\', \'1\', \'1\', \'1\', \'0\', \'0\'); INSERT INTO `typecho_contents` VALUES (\'3\', \'存档\', \'3\', \'1545193311\', \'1545193311\', \'\', \'0\', \'1\', \'all.php\', \'page\', \'publish\', null, \'0\', \'1\', \'1\', \'1\', \'0\', \'0\'); INSERT INTO `typecho_contents` VALUES (\'4\', \'Java ArrayList工作原理及实现\', \'4\', \'1545197640\', \'1545228176\', \'\\r\\n\\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 extends AbstractList\\r\\n implements List, 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