更改Typecho的数据库类型

        我们在用Typecho建站的时候需要一个空间和一个数据库,但是有的空间不带数据库,我们怎么办呢?

我们可以用更改数据库类型来解决无数据库的问题,将Typecho默认的Mysql改为SQLite,方法如下:

进入Typecho根目录下,找到 config.inc.php 文件,用Notepad++或者其他支持php文档的文本编辑程序打开它.

Ctrl+F查找:

/** 定义数据库参数 */

在"/** 定义数据库参数 */"的下面有数据库的信息,我们可以区分各个类型的数据库来把数据库类型更改.

如果是数据库的类型是Mysql,那么可以用以下代码:

$db = new Typecho_Db('Mysql', 'tyecho_'); // Mysql 代表Mysql数据库,typecho_ 代表数据库前缀
	$db->addServer(array (
	  'host' => 'localhost',  //Mysql数据库主机
	  'user' => 'root',  //Mysql用户名
	  'password' => '1234567890',  //Mysql用户密码
	  'charset' => 'gbk',  //Mysql编码格式
	  'port' => '3306',  //Mysql主机端口
	  'database' => 'typecho',  //Mysql数据库
	), Typecho_Db::READ | Typecho_Db::WRITE);
	Typecho_Db::set($db);

如果是数据库的类型是Pdo驱动的Mysql,那么可以用以下代码:

$db = new Typecho_Db('Pdo_Mysql', 'tyecho_'); // Pdo_Mysql 代表Mysql数据库,typecho_ 代表数据库前缀
	$db->addServer(array (
	  'host' => 'localhost',  //Mysql数据库主机
	  'user' => 'root',  //Mysql用户名
	  'password' => '1234567890',  //Mysql用户密码
	  'charset' => 'gbk',  //Mysql编码格式
	  'port' => '3306',  //Mysql主机端口
	  'database' => 'typecho',  //Mysql数据库
	), Typecho_Db::READ | Typecho_Db::WRITE);
	Typecho_Db::set($db);

如果是数据库的类型是SQLite(2.x),那么可以用以下代码:

$db = new Typecho_Db('SQLite', 'typecho_');  // SQLite 代表SQLite 2.x 数据库,typecho_ 代表数据库前缀
$db->addServer(array (
 'file' => '/var/www/typecho.db',  // "/var/www/typecho.db" 代表SQLite 2.x 数据库文件的绝对路径
), Typecho_Db::READ | Typecho_Db::WRITE);
Typecho_Db::set($db);

如果是数据库的类型是Pdo驱动的SQlite(3.x),那么可以用以下代码: 

$db = new Typecho_Db('Pdo_SQLite', 'typecho_');  // Pdo_SQLite 代表SQLite 3.x 数据库,typecho_ 代表数据库前缀
$db->addServer(array (
 'file' => '/var/www/typecho.db',  // "/var/www/typecho.db" 代表SQLite 3.x 数据库文件的绝对路径
), Typecho_Db::READ | Typecho_Db::WRITE);
Typecho_Db::set($db);

更改数据库类型的方法很简单,只要将"/** 定义数据库参数 */"下面的代码替换成你想替换的数据库的代码,然后根据注释内容修改数据库主机、数据库、用户名及密码.