如果说functions.php文件是WordPress主题当中最为重要的文件,那么对于整个WordPress来说,最为重要的会是什么呢?它应该是 wp-config.php文件。使用它可以配置数据库的功能、改善性能、提高所有由WordPress驱动的网站和博客的安全性。由此可见,此文件的重要性非同一般。所以这篇文章与大家分享的几个使用的WordPress配置技巧也是相当重要的,希望大家能学会吧!
默认情况下安装WordPress并没有wp-config.php文件,而是一个样本文件,叫做wp-config-sample.php。你需要依据这个样本文件为你的博客创建一个真正的配置文件wp-config.php。大多数人都不会手动来创建这个真正的配置文件,因为WordPress的安装过程中可以让你自动完成这个过程,这种自动创建的过程实际上也是添加、修改了主要的WordPress配置,因此,我们先来看看这个自动创建过程都帮你做了哪些事情。
通过FTP上传WordPress进入站点后,你会看到如下的页面:
英文部分的意思主要是说需要一个配置文件才能运作,你可以通过web界面来创建一个配置文件(这是一个样本),但是这个样本的配置文件 wp-config-sample.php并不一定适合所有的主机。如果你用的是当前非常流行的主机的话,它才可以运作。下一步就会变成这样:
在那里输入一些关键的信息,有了这些信息WordPress才能与数据库相连。所有在此输入的信息也会被添加到你的配置文件wp-config.php 里:
define('DB_NAME', 'database-name');
define('DB_USER', 'database-username');
define('DB_PASSWORD', 'database-password');
define('DB_HOST', 'localhost');
默认情况下,数据库的主机是localhost,因为它对大多数主机都适用。不过也有一些主机的配置不同,所以如果你使用下面的主机的话你还需要对它进行修改:
- 1and1 Hosting — db12345678
- DreamHost — mysql.example.com
- GoDaddy — h41mysql52.secureserver.net
- ICDSoft — localhost:/tmp/mysql5.sock
- MediaTemple (GS) — internal-db.s44441.gridserver.com
- Pair Networks — dbnnnx.pair.com
- Yahoo — mysql
Digging into WordPress电子书里有讲到一个最酷的 wp-config.php配置技巧,通过它你可以检测数据库的主机,代码如下:
define('DB_HOST', $_ENV{DATABASE_SERVER});
粘贴上面的代码,它就很可能可以掌握你的数据库服务器,不过这样的话,你当然需要手动来编辑 wp-config.php配置文件了。
安全密匙
WordPress安全密匙是一串随机变量,它可以改善用户cookie保存的信息的加密性。WordPress 3.0之前的版本你都需要在wp-config.php 文件里手动添加。在WordPress 3.0 里你可以按照这个安装指南,就为你在 wp-config.php文件里自动添加安全密匙。而且WordPress 3.0以前的版本,只有4个安全密匙,WordPress3.0里有8个安全密匙。
你可以在wp-config.php文件里添加下面的内容:
define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');
更多关于安全密匙的问题,可以查看这篇文章。
数据库前缀
按照操作指南来安装WordPress的话,其中有一个选项就是选择数据库前缀。它保存在wp-config.php文件里是这样的:
$table_prefix = 'wp_';
这里,建议你使用别的东西来代替wp_ to 以加强安全性。如果你已经安装完WordPress了,切勿直接在配置文件里直接修改前缀,你应该遵循一定的步骤。
语言配置
默认情况下,英语是WordPress默认的本地化语言,你可以通过下面的代码来修改:
define('WPLANG', '');
define('LANGDIR', '');
语言翻译文件(.mo)必需放置在默认的位置, 应该是wp-content/languages (原语言) , wp-includes/languages (目标语言)。从上面的函数可以看出,如果你喜欢的话,你可以定义自己的语言目录。
WordPress的调试
对于开发人员来说,WordPress有个非常出色的调试功能,通过它你可以查找错误。默认情况下这个函数是设置为false,如果是开发人员使用的话,应该启用这个函数。
define(‘WP_DEBUG’, false); // 默认情况下禁用调试
define(‘WP_DEBUG’, true); // 启用调试模式
博客/网站地址
在WordPress设置时,你可以指定WordPress的地址和网站地址。这些是添加在你的数据库中,每一次开发人员在模板里调用它的时候,实际上是在运行数据库查询。WordPress 2.2引入这两个设置来覆盖数据库值:
define('WP_HOME', 'http://www.yourdomain.com');
define('WP_SITEURL', 'http://www.yourdomain.com');
通过在配置文件wp-config.php里添加你的地址以后,你就可以减少数据库查询的次数,提高了网站的性能。
覆盖文件权限
如果你的主机商对用户有严格的文件限制的话,你可以覆盖文件权限。虽然大多数人可能不需要用到,但是也有的人会用到吧!
define('FS_CHMOD_FILE', 0755);
define('FS_CHMOD_DIR', 0644);
博文的修改版本
所谓博文的修改版本就是WordPress会自动保存你的博文的版本以防浏览器或其他什么东西出状况。通过这个功能,如果用户不喜欢自己所做的修改,可以还原回之前的版本。虽然有人喜欢这个功能,也有些人对它也是很有话要说的,关于此函数有很多种配置可选择,你可以按照自己的需要进行配置。
自动保存配置
默认情况下,WordPress是每60秒就会对文章进行保存,如果你觉得这个保存太频繁了,你可以将它修改成:
define('AUTOSAVE_INTERVAL', 120); // in seconds
但是用上面的方面,可能一篇文章就会有10个、20个或者更多的版本,如果你不喜欢这样,你可以将每篇文章的版本数限定为固定值:
define('WP_POST_REVISIONS', 5);
你可以设置为任意整数。
如果上面两个修改都不让你满意,你可以通过添加下面的代码干脆直接禁用这个功能:
define('WP_POST_REVISIONS', false);
WordPress垃圾箱功能
WordPress 2.9加入了一个新的“垃圾箱”功能,这个就跟我们电脑的回收站一样,如果你不想彻底删除某篇文章,你可以将它放入“垃圾箱”,这对于经常误按删除按钮的用户来说非常有帮助,这在任何人身上都有可能发生。但是这个垃圾箱功能也一点不好,就是你得定期地清空它。默认情况下,垃圾箱每隔30天会自动清空一次,你可以通过下面的函数来修改:
define('EMPTY_TRASH_DAYS', 7 ); //用整数代码你希望每隔多少天自动清空
如果你不喜欢这个功能,可以通过添加下面的代码来取消这个功能:
define('EMPTY_TRASH_DAYS', 0 );
但是,如果你将这个值设定为0的话,意味着你删除的任何东西都将被永久删除,而且也不会让你进行再次确认,因此,任何偶然的误删都会给你带来麻烦…
FTP/SSH常数
默认情况下, WordPress允许你在后台升级插件、WordPress核心版本。有一些主机却要求你每次更新或安装插件的时候必需通过 FTP或SSH 链接,你可以通过使用下面的代码来设置 FTP 或SSH常数,不必为此费心。
// forces the filesystem method: "direct", "ssh", "ftpext", or "ftpsockets"
define('FS_METHOD', 'ftpext');
// absolute path to root installation directory
define('FTP_BASE', '/path/to/wordpress/');
// absolute path to "wp-content" directory
define('FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/');
// absolute path to "wp-plugins" directory
define('FTP_PLUGIN_DIR ', '/path/to/wordpress/wp-content/plugins/');
// absolute path to your SSH public key
define('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub');
// absolute path to your SSH private key
define('FTP_PRIVKEY', '/home/username/.ssh/id_rsa');
// either your FTP or SSH username
define('FTP_USER', 'username');
// password for FTP_USER username
define('FTP_PASS', 'password');
// hostname:port combo for your SSH/FTP server
define('FTP_HOST', 'ftp.example.org:21');
自动优化数据库
WordPress 2.9里添加了自动优化数据库的功能,不过需要启用才可以使用,你可以通过下面的代码来启用它:
define('WP_ALLOW_REPAIR', true);
激活以后,你就可以在下面的地址看到它的设置: http://www.yoursite.com/wp-admin/maint/repair.php
当上面的定义设置完后,用户无需登录后台就可以访问这个功能。因为它的主要目的是修复崩溃的数据库,通常情况下,如果数据库出现问题,用户是无法登录后台的。因此,当完成对数据库的修复和优化后,请务必将它从 wp-config.php文件里删除。
增加PHP内存限制
用户在激活插件的时候经常会发生WordPress内存耗尽的错误。你可以通过下面的代码来增加PHP内容限制:
define('WP_MEMORY_LIMIT', '64M');
注意: 这个功能可能并不适合所有主机,有些情况下你得向主机商申请提高PHP内容限制。
WordPress错误记录
对于开发人员来说,错误记录对网站挺有帮助的。你可以通过配置文件wp-config.php非常轻松地为WordPress网站创建一个简单的错误记录。首先,创建一个叫做 “php_error.log”的文件,将它设为服务器可写,然后上传到你选择的目录下:
@ini_set('log_errors','On');
@ini_set('display_errors','Off');
@ini_set('error_log','/home/path/domain/logs/php_error.log');
移动wp-content目录
从WordPress 2.6以后,用户就可以移动wp-content目录,这对网站的安全是有好处的。你可以通过在配置文件里添加下面的代码来移动该目录:
define( 'WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content' );
define( 'WP_CONTENT_URL', 'http://example/blog/wp-content');
define( 'WP_PLUGIN_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content/plugins' );
define( 'WP_PLUGIN_URL', 'http://example/blog/wp-content/plugins');
这里特别奖插件目录写出来是因为一些插件如果没有特别指出的话就无法移动。
自定义User / UserMeta表单
默认情况下,WordPress将所有用户的数据保存在 wp_users和wp_usermeta表单里。通过下面的函数,你可以指定任何位置来保存用户信息。
define('CUSTOM_USER_TABLE', $table_prefix.'my_users');
define('CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta');
启用多站点的功能
WordPress 3.0里,WPMU已经与WordPress核心程序整合一起了。想要启用多站点的功能,你需要在配置文件里添加以下代码:
define('WP_ALLOW_MULTISITE', true);
添加完这个代码之后,在WordPress管理后台就会一个新的页面,工具》网络(Network)。
找到这个页面后,你需要按照页面上的指示来操作才能继续设置MU网络。
提高WP-Config文件的安全性
相信大家都应该明白这个配置文件的重要性了,因此非常有必要提高它的安全性。默认情况下,它是存放在WordPress文件夹的根目录下,但是,实际上用户可以移动它。你可以将它移出public_html目录,这样用户就无法访问到它。如果WordPress程序无法再根目录文件夹找到它的话,它会懂得去其他目录查找。 当然,你也可以使用.htaccess文件限制用户对此文件的访问。
添加下面的代码:
# protect wpconfig.php
<files wp-config.php>
order allow,deny
deny from all
</files>