wp-config.php 完全配置指南
2007年07月15日
本日志为初始版本,我会陆续更新,真正做到如题目所说的完全配置指南,如果你有什么新发现,请给我留言。
好像在 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');
安装中文包
- 下载中文包,链接:Yskin 或者 点点游。
- 下载编译好的 zh_CN.mo 文件。(当然您也可以下载 zh_CN.po 文件然后自行编译)
- 在 WordPress 安装目录中的 wp-content 目录下新建 languages 目录。
注意:旧版WordPress的语言包要求存放在 wp-includes/languages 目录,但是从WordPress 2.1开始,WordPress开始使用 wp-content/languages 目录,但是原有的目录依然可以使用。未来 WordPress 可能取消对旧版目录的支持,所以请WordPress 2.1以后版本用户尽量将中文包存放在 wp-content/languages 目录下。 - 将 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://fairyfish.net'); define('WP_SITEURL', 'http://fairyfish.net/');
这里分别设置你博客首页和 WordPress 程序路径,如本站都是 http://fairyfish.net。当你把你博客从搬家到另外一个地方并且更改了域名,你就不需要在数据库中去修改 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 功能:
- 在 wp-config.php 文件添加 define('ENABLE_CACHE','true');
- 将WP-content目录下的cache目录属性改为777,以保证系统能够写入cache。
- 在管理界面的 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 配置我就介绍到这里,如果我有遗漏什么,请给我留言。我会陆续添加上去。
参考文章
21 条评论 添加你的评论 →

1. icaction | 2007:08:05 - 21:38:37 | #
cache 那块儿
应该写成define(‘ENABLE_CACHE’,'true’);
吧是不是得有个单引号
2. Denis | 2007:08:05 - 21:52:45 | #
恩,谢谢!即可加上!
3. 吸引定律电子书 | 2007:08:29 - 14:10:06 | #
define(‘DB_CHARSET’, ‘utf8′);
define(‘DB_COLLATE’, ”);
这个要怎么设置啊?我以前自己安装wp从来没问题,但是用服务器的fantastico安装的却出现全部都是问号!
紫雨
4. 誓言如风 | 2007:09:08 - 19:02:33 | #
为什么我把中文包放在 wp-content/languages 目录下不能使用,放在wp-includes/languages 目录下才能正常使用。。
5. Denis | 2007:09:08 - 19:42:26 | #
@誓言如风,那就放到wp-includes/languages,呵呵呵!
6. 誓言如风 | 2007:09:09 - 09:08:28 | #
但是为什么很多教程都说要放在 wp-content/languages 目录下呢?
7. Denis | 2007:09:09 - 16:23:40 | #
这个是 WordPress 2.2 之后修改的。你的版本是多少?
8. 誓言如风 | 2007:09:10 - 10:16:08 | #
WordPress 2.2.2
9. 誓言如风 | 2007:09:10 - 10:17:55 | #
[code]从WordPress 2.1开始,WordPress开始使用 wp-content/languages 目录,但是原有的目录依然可以使用[/code]
我在本地试了几个版本,用的官方英文版+中文包,都没成功
10. tongnan | 2007:09:15 - 10:00:57 | #
我怎么建立了数据库,而且服务器那边也推荐使用wordpress,数据库名称没错,但是还是出现第二张图的错误,说服务器名字不对
11. Denis | 2007:09:15 - 11:48:52 | #
@ tongnan,不知道你在说什么。所以我也帮不了你!
12. lucy | 2007:09:23 - 11:34:03 | #
请问…..我有创 建数据库的…….怎么连不上……就出现这个….
We were able to connect to the database server (which means your username and password is okay) but not able to select the database.
13. Denis | 2007:09:23 - 12:42:58 | #
@ Lucy,上面的意思是你的数据库用户名和密码是OK的,但是连不上数据库,你要到数据库管理界面给你数据库用户赋上权限。
14. lucy | 2007:09:23 - 21:10:03 | #
我是在本地服务器上调试的….给了全部权限…….还是出错了………Fatal error: Allowed memory size of 5242880 bytes exhausted (tried to allocate 24576 bytes) in D:\AppServ\www\777\wp-includes\deprecated.php on line 338
15. buxiaole | 2008:02:23 - 17:24:18 | #
一切正常,后台可进,但主页打不开。郁闷
16. rexsky | 2008:06:28 - 03:15:47 | #
wp-config.php这个文件权限应该是什么呢?我的网页经常被人显黑,真晕.
17. 迷失 | 2008:06:30 - 16:55:41 | #
请问根目录属性修改 777 在哪里修改?
18. 江西SEO | 2008:08:05 - 20:17:13 | #
对啊,请问根目录属性修改 777 在哪里修改?是空间管理里面吗?
19. Denis | 2008:08:05 - 20:26:02 | #
ftp
20. kk | 2008:08:09 - 14:37:53 | #
我是WP 2.6 今天不小心在后台设置里修改了HOME也就是“WordPress 地址(URL)”的地址,现在导致我后台也上不去,页面也无法访问。我登陆服务器修改wp-config.php 按照你这个上面说的修改了’WP_HOME’和’WP_SITEURL’的地址。主页面和内容页面可以显示了,但不正常。课后台管理还是无法访问,现在该怎么办啊~~
21. mikegoogler | 2009:01:01 - 16:18:25 | #
我第一次用记事本编辑了config,结果出错,后来在网上看了,用UltraEdit编辑了一下,直接覆盖了原文件,结果反而打不开了,不知为什么?谢谢