这篇文章主要介绍了WordPress配置文件wp-config.php详解,包含很多控制Wordpress的技巧,需要的朋友可以参考下。
数据库信息
WordPress链接数据库需设定以下四个值:
define('DB_NAME', 'database-name'); define('DB_USER', 'database-username'); define('DB_PASSWORD', 'database-password'); define('DB_HOST', 'localhost');
在创建数据库前就需准备好数据库名称、用户名、密码,最后一个DB_HOST值常见的是直接用“localhost”或者’127.0.0.1′, 甚至你可以给数据库服务器指定一个备用端口。例如:
define('DB_HOST', 'localhost:3309');
数据库字符集和整理(collation)
截至WordPress 2.2版,你可以给MySQL数据库指定字符集。一般来说,不需要修改默认字符集UTF-8,因为它支持所有的语言。注意,如果wp-config.php文件里,这一字符集已经存在,你只能使用此字符集。:
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');
安全密匙
截至WordPress 2.7后有四个安全密匙来加密cookies。这些密匙只需让它默默无闻地工作就好,并尽可能随意和复杂(你无需记住)。生成这些密匙的最简单方法就是通过WordPress官方密匙服务来自动生成。只要点击这个服务,复制并粘贴生成的结果到wp-config.php 文件中即可。注意,这些密匙可随时更改,这样一来,用户之前的cookies会被清除需要重新登陆你的网站。
define('AUTH_KEY', ':dr+%/5V4sAUG-gg%aS*v;&xGhd%{YV)p:Qi?jXLq,<h\\`39'); define('SECURE_AUTH_KEY', '@*+S=8"\'+"}]<m#+}V)p:Qi?jXLq,<h\\`39m_('); define('LOGGED_IN_KEY', 'S~AACm4h1;T^"qW3_8Zv!Ji=y|)~5i63JI |Al[(<YS'); define('NONCE_KEY', 'k1+EOc-&w?hG8j84>6L9v"6C89NH?ui{*3\\(t09mumL/fF');
数据库前缀
数据库前缀的设置对提高你的站点安全以及在同一数据库中安装多个WordPress站点都非常有用,默认值:
$table_prefix = 'wp_';
还可以使用此设置实现在一个数据库中安装多个WordPress站点,只要给每一个WordPress指定一个单独的数据库前缀即可:
$table_prefix = 'wp1_'; // 第一个博客 $table_prefix = 'wp2_'; // 第二个博客 $table_prefix = 'wp3_'; // 第三个博客
语言设置
define('WPLANG', ''); define('LANGDIR', '');
目录设置
默认的wp-config.php 文件里有几行指定绝对路径并且包含设置文件。
/** WordPress absolute path to the WordPress directory. */ if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/'); /** Sets up WordPress vars and included files. */ require_once(ABSPATH . 'wp-settings.php');
博客地址和网站地址
默认的p-config.php中不包含这两个定义,不过为了改善WordPress的性能,还是需要添加的。这两个设置是在2.2版本引进来的。在wp-config.php 中添加者两个定义可降低数据库查询数,提高网站的运行。这些设置需与你的WordPress Admin中的设置一致。下面是一个例子 (所有URL地址不以斜线结尾):
define('WP_HOME', 'https://www.xtplayer.cn'); define('WP_SITEURL', 'https://www.xtplayer.cn');
可以使用全局变量动态地设置这些值:
define('WP_HOME', 'http://'.$_SERVER['HTTP_HOST'].'/path/to/wordpress'); define('WP_SITEURL', 'http://'.$_SERVER['HTTP_HOST'].'/path/to/wordpress');
模板路径和样式表路径
define('TEMPLATEPATH', get_template_directory()); define('STYLESHEETPATH', get_stylesheet_directory());
尽管数据库查询还存在,但我们可以减少多余的查询:
define('TEMPLATEPATH', '/absolute/path/to/wp-content/themes/active-theme'); define('STYLESHEETPATH', '/absolute/path/to/wp-content/themes/active-theme');
禁用缓存和缓存有效期
启用缓存
define('WP_CACHE', true); // 启用缓存 define('ENABLE_CACHE', true); // 启用缓存 define('CACHE_EXPIRATION_TIME', 3600); // 单位秒
禁用缓存
define('WP_CACHE', false); //禁用缓存 define('DISABLE_CACHE', true); // 禁用缓存
3.0后版本要开始缓存在/wp-includes/default-constants.php中开启
指定cookies域
会由于很多原因你需要给站点指定cookies域。比较常见的就是阻止子域名上请求静态内容的cookies不必要的传输。这种情况下,你就可以使用此定义告知WordPress只向非静态域发送cookies,这将会大大提高网站的性能。下面是设置各种cookies路径和域的信息:
define('COOKIE_DOMAIN', 'www.xxxx.com'); // 这里设置为你的首页地址。 define('COOKIEPATH', preg_replace('|https?://[^/]+|i', '', get_option('home').'/')); define('SITECOOKIEPATH', preg_replace('|https?://[^/]+|i', '', get_option('siteurl').'/')); define('PLUGINS_COOKIE_PATH', preg_replace('|https?://[^/]+|i', '', WP_PLUGIN_URL)); define('ADMIN_COOKIE_PATH', SITECOOKIEPATH.'wp-admin');
覆盖文件权限
define('FS_CHMOD_FILE', 0755); define('FS_CHMOD_DIR', 0755);
查看所有已定义的常量
需要查看所有已定义的常量吗?用下面的PHP函数就会得到一个所有当前一定义常数的数组:
print_r(@get_defined_constants());
自定义用户和usermeta 表
define('CUSTOM_USER_TABLE', $table_prefix.'my_users'); define('CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta');
FTP/SSH常量
define('FS_METHOD', 'ftpext'); // 文件系统的方式,包括: "direct"、"ssh"、"ftpext"和"ftpsockets" define('FTP_BASE', '/path/to/wordpress/'); // 安装根目录的绝对路径 define('FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/'); // 到"wp-content" 目录的绝对路径 define('FTP_PLUGIN_DIR ', '/path/to/wordpress/wp-content/plugins/'); // 到"wp-plugins" 目录的绝对路径 define('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub'); // 到SSH公匙的绝对路径 define('FTP_PRIVKEY', '/home/username/.ssh/id_rsa'); //到SSH密匙的绝对路径 define('FTP_USER', 'username'); // FTP 或SSH用户名 define('FTP_PASS', 'password'); // FTP用户密码 define('FTP_HOST', 'ftp.domain.tld:21'); //主机名:你的SSH/FTP服务器端口
移动wp-content 目录
从2.6版本开始,你可以修改wp-content目录的位置。这么做有几个理由,包括可提高网站的安全性,以及便于FTP更新。下面是例子:
// 当前目录的完全本地路径(结尾不包括斜杠) define('WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'].'/path/wp-content'); // 当前目录的完整URL(结尾不包括斜杠) define('WP_CONTENT_URL', 'http://domain.tld/path/wp-content'); //你也可以另外给wp-content 目录指定一个自定义路径。可以解决一些插件的兼容性问题</p> <p> //当前目录的完全本地路径(结尾不包括斜杠) define('WP_PLUGIN_DIR', $_SERVER['DOCUMENT_ROOT'].'/path/wp-content/plugins'); //当前目录的完整URL(结尾不包括斜杠) define('WP_PLUGIN_URL', 'http://domain.tld/path/wp-content/plugins');
日志修订版的处理
限制保存博客版本的数量
define('WP_POST_REVISIONS', 3); // 任意整数
禁用修订版功能
define('WP_POST_REVISIONS', false);
指定自动保存间隔
跟发布版本功能类似,WordPress其实使用了自动保存功能。默认情况下,WordPress每一分钟自动保存你的作品,不过你完全可以根据需要改变这个数值。不过也注意不要太夸张,以免破坏了你的服务器。
define('AUTOSAVE_INTERVAL', 160); // 单位秒
WordPress配置文件wp-config.php详解_WordPress_CMS教程_脚本之家
调试WordPress
自从2.3.1版本以来,有一些错误和警告提示帮助用户调试网站。截止2.5版本, 报错等级提高到E_ALL并有激活对一些函数的警告功能。默认(即,没有在wp-config.php文件中指定任何定义),错误报告被禁用。
define('WP_DEBUG', true); // 启用调试模式 define('WP_DEBUG', false); // 禁用调试模式(默认)
错误日志配置
下面是启用WordPress站点错误日志的一种简单方法。创建一个名为“php_error.log”的文件,使其对服务器可写,并将其放置在你选择的目录下。接着在下面代码中第三行编辑路径,并加入wp-config.php 中:
@ini_set('log_errors','On'); @ini_set('display_errors','Off'); @ini_set('error_log','/home/path/domain/logs/php_error.log');
增加PHP内存
如果你收到错误提示“允许的内存xxx字节已用尽” ,这个设置就对你有帮助了。截至WordPress的2.5版,WP_MEMORY_LIMIT定义,你可以指定PHP使用的最大内存。默认情况下,最大PHP内存是32兆,因此只有要求大于32兆是菜需要更改此设置。注意,有些虚拟主机禁止你提高PHP 内存,所以你得请求他们帮忙。下面是例子:
define('WP_MEMORY_LIMIT', '64M'); define('WP_MEMORY_LIMIT', '96M'); define('WP_MEMORY_LIMIT', '128M');
保存并显示数据库查询以供分析
这个技术可实现保存并显示数据库查询的信息以备后面分析。这个过程保存了每一次查询、相关的函数以及总的执行时间。这些信息都保存为一个数组的形式,并可显示在任何模板页上。不过,首先得在你的wp-config.php 文件添加下面的指令:
define('SAVEQUERIES', true);
然后,在主题的footer上加上下面的代码:
// 只对admin显示查询数组 if (current_user_can('level_10')) { global $wpdb; echo ""; print_r($wpdb->queries); echo ""; }
下面是此函数的单行版本:
print_r($wpdb->queries);
限制代理访问
WordPress 2.8及以上版本,可用配置文件定义一些常量,包括封锁、允许、过滤从一个代理服务器访问特定主机。例如,如果你的WordPress站点是联网的, 你需要阻止访问任何外部主机,只允许本地主机访问,使用下面第一个定义。如果你允许特定主机访问,用逗号分隔主机名称即可,像下面第三个定义一样。 注意,请允许api.wordpress.org访问,确保一些核心文件和插件能起到恰当的作用。
define('WP_HTTP_BLOCK_EXTERNAL', true); // 阻止外部请求 define('WP_HTTP_BLOCK_EXTERNAL', false); // 允许外部请求 define('WP_ACCESSIBLE_HOSTS', 'api.wordpress.org'); // 白名单主机
未经允许不得转载:系统玩家 » 【转载】WordPress配置文件wp-config.php详解
评论前必须登录!