wp-config.php 完全配置指南

本日志为初始版本,我会陆续更新,真正做到如题目所说的完全配置指南,如果你有什么新发现,请给我留言。

好像在 WordPress 2.0 开始,就可以不用手工配置 wp-config.php 文件,而通过安装 WordPress 时候的对话框输入数据库信息来安装 WordPress。安装之后,就会自动会创建 wp-config.php 文件。当然首先你要设置你的 WordPress 根目录属性设置为 777,这样安装脚本才能根据 wp-config-sample.php 在你博客的根目录写入 wp-config.php 。虽然大多时候不需要手工配置你的 wp-config.php,但是对 wp-config.php 多些了解是非常重要的,特别是你在你博客搬家之后,一些的设置可以帮你事半功倍。

数据库设置

首先,是数据库的设置,目前 WordPress 只支持 MySQL 数据库,不知道以后 WordPress 会不会把数据库连接抽象成一个层,这样就可以支持更多的数据库。不管如何,下面的设置就是分别需要输入你数据库的名字,连接 MySQL 数据库的用户名,密码和数据库的主机。

// ** MySQL 设置 ** //
define('DB_NAME', '数据库名');    // 数据库名
define('DB_USER', 'MySQL用户名');     // MySQL 用户名
define('DB_PASSWORD', '密码'); // 密码
define('DB_HOST', 'localhost'); // 数据主机名

关于数据库主机名,90%都是 localhost,本机,如果你使用了远程数据库,那么这里输入你远程数据库地址。

表前缀

接下来的是数据库表的前缀,如果你的数据库只安装一个 WordPress 程序,那么就输入 wp_ 就可以或者你自己喜欢的字符,数字或者下滑线。如果你在一个数据库安装了不止一个 WordPress 中安装了不止一个 WordPress 程序,那么你就要在这里给每个 WordPress 程序指定不同的表前缀。

$table_prefix = 'wp_'; // 表前缀

本地化

下面的是定义语言包,如果你对英文不习惯,你可以把 WordPress 的语言包设置为我们伟大的中文,设置如下:

define ('WPLANG', 'zh_CN');

安装中文包

  1. 下载中文包,链接:Yskin 或者 点点游
  2. 下载编译好的 zh_CN.mo 文件。(当然您也可以下载 zh_CN.po 文件然后自行编译)
  3. 在 WordPress 安装目录中的 wp-content 目录下新建 languages 目录。
    注意:旧版WordPress的语言包要求存放在 wp-includes/languages 目录,但是从WordPress 2.1开始,WordPress开始使用 wp-content/languages 目录,但是原有的目录依然可以使用。未来 WordPress 可能取消对旧版目录的支持,所以请WordPress 2.1以后版本用户尽量将中文包存放在 wp-content/languages 目录下。
  4. zh_CN.mo 文件上传到 wp-content/languages 目录下。

关于中文包不能工作问题,尝试下把 wp-includes\gettext.php 中的

  if ($magic == ($MAGIC1 & 0xFFFFFFFF) || $magic == ($MAGIC3 & 0xFFFFFFFF)) { // to make sure it works for 64-bit platforms
      $this->BYTEORDER = 0;
    } elseif ($magic == ($MAGIC2 & 0xFFFFFFFF)) {

改成

if ($magic == $MAGIC1) {
$this->BYTEORDER = 0;
} elseif ($magic == $MAGIC2) {

上面代码没有经过测试。个人建议,如果对英语不是特别反感,尽量使用英文版,因为中文版有时候会引起一些莫名的问题,比如奔放同学在安装 BDP RSS Aggregator 这个插件的时候就碰到了 WordPress 最灵异的事件,然后安装英文版之后就没有事情了。

基本的 WordPress 设置到这里就算完成了。

数据的字符集和整理

如果是在安装 WordPress 2.2 之后安装 WordPress 的,可能你的 wp-config.php 中还会有以下两个项目:

define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

它们用于设置数据的字符集和整理,请保持你数据库中的设置保持一致。

home 和 siteurl

WordPress 2.2 增加了一个可喜的功能,即可以在 wp-config.php 文件中设置你的站点的 “home” 和 “siteurl” 的值。如下:

define('WP_HOME', 'http://blog.wpjam.com');
define('WP_SITEURL', 'http://blog.wpjam.com/');

这里分别设置你博客首页和 WordPress 程序路径,如本站都是 http://blog.wpjam.com。当你把你博客从搬家到另外一个地方并且更改了域名,你就不需要在数据库中去修改 URL,直接就可以在 wp-config.php 里面设置。

另外活用下 WordPress 2.2 的这个功能可以让你的 WordPress 2.2 支持 Urlmirror 镜像:

$home = 'http://'.$_SERVER['HTTP_HOST'];
$wpurl = 'http://'.$_SERVER['HTTP_HOST'].'/blog';
define('WP_HOME', $home);
define('WP_SITEURL', $wpurl);

上面的 $_SERVER[HTTP_HOST’] 就是获取当前地址的‘域名’的函数。具体设置请查看这篇文章:让 WordPress 2.2 支持 Urlmirror镜像

开启WP自带的缓存(Cache)功能

其实 WordPress 自带了 Cache 功能:

  1. 在 wp-config.php 文件添加 define(‘ENABLE_CACHE‘,’true‘);
  2. 将WP-content目录下的cache目录属性改为777,以保证系统能够写入cache。
  3. 在管理界面的 Options->Reading 选项中,开启WP自带的压缩功能(WordPress should compress articles (gzip) if browsers ask for them)

headers already sent 问题

有时候,手工编辑 wp-config.php 文件会不慎插入 BOM 字符,这时候就会产生以下问题:

Warning: Cannot modify header information – headers already sent by …

对于这种问题,把文件存成ASCII码方式就应该能解决问题。

具体原因你可以查看以下两篇文章:

关于 wp-config.php 配置我就介绍到这里,如果我有遗漏什么,请给我留言。我会陆续添加上去。

参考文章

标签:

热门文章