wp-config.php文件——深入探讨如何配置WordPress

wp-config.php文件——深入探讨如何配置WordPress

WordPress安装最重要的文件之一是配置文件。它驻留在根目录中,包含常量定义和PHP指令,使WordPress按您想要的方式工作。WP-config.php文件如数据库连接细节,表前缀,路径对特定目录和很多相关的特定设置文件存储数据功能。

基本的wp-config.php文件

首次安装WordPress时,系统会要求您输入所需信息,例如数据库详细信息和表前缀。有时您的主机会为您设置WordPress,您不需要手动运行设置。但是,当您手动运行5分钟安装时,系统会要求您输入一些存储在wp-config中的最相关数据。

wp-config.php文件——深入探讨如何配置WordPress

当您运行设置时,您将需要输入存储在wp-config.php文件中的数据

这是一个基本的wp-config.php文件:

// ** MySQL settings – You can get this info from your web host ** //
/** The name of the database for WordPress */
define(‘DB_NAME’, ‘database_name_here’);
/** MySQL database username */
define(‘DB_USER’, ‘username_here’);
/** MySQL database password */
define(‘DB_PASSWORD’, ‘password_here’);
/** MySQL hostname */
define(‘DB_HOST’, ‘localhost’);
/** Database Charset to use in creating database tables. */
define(‘DB_CHARSET’, ‘utf8’);
/** The Database Collate type. Don’t change this if in doubt. */
define(‘DB_COLLATE’, );
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’);
$table_prefix = ‘wp_’;
/* That’s all, stop editing! Happy blogging. */
// ** MySQL settings – You can get this info from your web host ** //
/** The name of the database for WordPress */
define(‘DB_NAME’, ‘database_name_here’);

/** MySQL database username */
define(‘DB_USER’, ‘username_here’);

/** MySQL database password */
define(‘DB_PASSWORD’, ‘password_here’);

/** MySQL hostname */
define(‘DB_HOST’, ‘localhost’);

/** Database Charset to use in creating database tables. */
define(‘DB_CHARSET’, ‘utf8’);

/** The Database Collate type. Don’t change this if in doubt. */
define(‘DB_COLLATE’, ”);

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’);

$table_prefix = ‘wp_’;

/* That’s all, stop editing! Happy blogging. */

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'database_name_here');

/** MySQL database username */
define('DB_USER', 'username_here');

/** MySQL database password */
define('DB_PASSWORD', 'password_here');

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

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');

$table_prefix  = 'wp_';

/* That's all, stop editing! Happy blogging. */

通常,这个文件会在你运行安装程序时自动生成,但偶尔WordPress没有权限写入安装文件夹。在这种情况下,您应该创建一个空的wp-config.php文件,从wp-config-sample.php复制和粘贴内容,并将正确的值设置为所有定义的常量。完成后,将文件上传到根文件夹并运行WordPress。

注意:常量定义和PHP指令以特定的顺序出现,我们永远不应该改变。我们永远不应该在以下注释行下添加内容:

/* That’s all, stop editing! Happy blogging. */
/* That’s all, stop editing! Happy blogging. */
/* That's all, stop editing! Happy blogging. */

首先,是您应该从主机收到的数据库常量的定义:

  • DB_NAME
  • DB_USER
  • DB_PASSWORD
  • DB_HOST
  • DB_CHARSET
  • DB_COLLATE

根据数据库详细信息,八个安全密钥将使站点更安全地抵御黑客。当您运行安装WordPress将自动生成安全和盐密钥,但您可以随时更改它们,添加任意字符串。为了更好的安全性,请考虑使用在线生成器

$table_prefix变量存储所有WordPress表的前缀。不幸的是,任何人都知道它的默认值,这可能会导致WordPress数据库出现漏洞,可以通过$table_prefix在运行设置时设置自定义值来轻松修复。要更改工作网站中的表前缀,您应该对数据库运行多个查询,然后手动编辑wp-config.php文件。如果您无权访问数据库或者您没有构建自定义查询所需的知识,那么您可以安装一个像Change Table Prefix这样的插件来重命名数据库表和字段名称,并更新配置文件风险。

注意:即使您将使用插件更改表前缀,备份WordPress文件和数据库也是一个好习惯。

到目前为止,分析仅限于基本配置。但是我们可以使用许多常量来定义以启用功能、自定义和保护安装。

基本配置:编辑文件系统

WordPress文件系统为用户和黑客所熟知。为此,您可以考虑通过将特定文件夹移动到任意位置并在wp-config文件中设置相应的URL和路径来更改内置文件结构。首先,我们可以通过定义两个常量来移动内容文件夹。第一个设置完整目录路径:

define( ‘WP_CONTENT_DIR’, dirname(__FILE__) . ‘/site/wp-content’ );
define( ‘WP_CONTENT_DIR’, dirname(__FILE__) . ‘/site/wp-content’ );
define( 'WP_CONTENT_DIR', dirname(__FILE__) . '/site/wp-content' );

第二个设置新目录URL:

define( ‘WP_CONTENT_URL’, ‘http://example.com/site/wp-content’ );
define( ‘WP_CONTENT_URL’, ‘http://example.com/site/wp-content’ );
define( 'WP_CONTENT_URL', 'http://example.com/site/wp-content' );

我们可以通过定义以下常量来移动插件文件夹:

define( ‘WP_PLUGIN_DIR’, dirname(__FILE__) . ‘/wp-content/mydir/plugins’ );
define( ‘WP_PLUGIN_URL’, ‘http://example.com/wp-content/mydir/plugins’ );
define( ‘WP_PLUGIN_DIR’, dirname(__FILE__) . ‘/wp-content/mydir/plugins’ );
define( ‘WP_PLUGIN_URL’, ‘http://example.com/wp-content/mydir/plugins’ );
define( 'WP_PLUGIN_DIR', dirname(__FILE__) . '/wp-content/mydir/plugins' );
define( 'WP_PLUGIN_URL', 'http://example.com/wp-content/mydir/plugins' );

同样,我们可以通过设置新的目录路径来移动uploads文件夹:

define( ‘UPLOADS’, ‘wp-content/mydir/uploads’ );
define( ‘UPLOADS’, ‘wp-content/mydir/uploads’ );
define( 'UPLOADS', 'wp-content/mydir/uploads' );

注意:所有路径都相对于ABSPATH,并且它们不应包含前导斜杠。

完成后,排列文件夹并重新加载WordPress。

wp-config.php文件——深入探讨如何配置WordPress

该图显示了与自定义结构相比的内置文件结构

不可能从wp-config文件中移动/wp-content/themes文件夹,但我们可以在插件或主题的功能文件中注册一个新的主题目录。

开发人员功能:调试模式和保存查询

如果您是开发人员,您可以强制WordPress显示错误和警告,以帮助您进行主题和插件调试。要启用调试模式,您只需将WP_DEBUG值设置为true,如下所示:

define( ‘WP_DEBUG’, true );
define( ‘WP_DEBUG’, true );
define( 'WP_DEBUG', true );

WP_DEBUG默认设置为false。如果您需要禁用调试模式,您可以删除定义,或将常量的值设置为 false。当您在实时站点上工作时,您应该禁用调试模式。错误和警告不应显示给站点查看者,因为它可以为黑客提供有价值的信息。但是,如果您无论如何都必须进行调试怎么办?在这种情况下,您可以强制WordPress在/wp-content文件夹中的debug.log文件中保留错误和警告的内存。要启用此功能,请将以下代码复制并粘贴到wp-config.php文件中:

define( ‘WP_DEBUG’, true );
define( ‘WP_DEBUG_LOG’, true );
define( ‘WP_DEBUG_DISPLAY’, false );
@ini_set( ‘display_errors’, 0 );
define( ‘WP_DEBUG’, true );
define( ‘WP_DEBUG_LOG’, true );
define( ‘WP_DEBUG_DISPLAY’, false );
@ini_set( ‘display_errors’, 0 );
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );

要使此功能起作用,我们首先需要启用调试模式。然后,设置WP_DEBUG_LOG为true我们会强制WordPress将消息存储到debug.log文件中,而定义WP_DEBUG_DISPLAY为false即不会在屏幕上直接输出这些信息。最后,我们将PHP变量的值设置为0,display_errors这样错误消息就不会打印到屏幕上。wp-config永远不会从缓存中加载。因此,这是覆盖php.ini设置的好地方。

注意:这是一个很棒的功能,您可以利用它来注册WordPress不会在屏幕上打印的消息。例如,当publish_post触发操作时,WordPress会加载一个保存数据的脚本,然后将用户重定向到文章编辑页面。在这种情况下,您可以注册消息,但不能将它们打印在屏幕上。

另一个调试常量确定要加载的脚本和样式的版本。SCRIPT_DEBUG如果要加载未压缩版本,请设置为true:

define( ‘SCRIPT_DEBUG’, true );
define( ‘SCRIPT_DEBUG’, true );
define( 'SCRIPT_DEBUG', true );

如果您的主题或插件显示从数据库检索的数据,您可能需要存储查询详细信息以供后续查看。SAVEQUERIES常量强制WordPress将查询信息存储到$wpdb->queries数组中。将打印这些详细信息,将以下代码添加到页脚模板:

if ( current_user_can( ‘administrator’ ) ) {
global $wpdb;
echo ‘<pre>’;
print_r( $wpdb->queries );
echo ‘</pre>’;
}
if ( current_user_can( ‘administrator’ ) ) {
global $wpdb;
echo ‘<pre>’;
print_r( $wpdb->queries );
echo ‘</pre>’;
}
if ( current_user_can( 'administrator' ) ) {
        global $wpdb;
        echo '<pre>';
        print_r( $wpdb->queries );
        echo '</pre>';
}

有关此功能的更深入分析,请参阅如何在WordPress中构建高效查询

当您的网站长大后,您可能希望减少文章修订的数量。默认情况下,WordPress每60秒自动保存一次修订。我们可以通过在wp-config中设置自定义间隔来更改此值,如下所示:

define( ‘AUTOSAVE_INTERVAL’, 160 );
define( ‘AUTOSAVE_INTERVAL’, 160 );
define( 'AUTOSAVE_INTERVAL', 160 );

当然,您也可以减少自动保存间隔。每次我们保存我们的编辑时,WordPress都会在文章表中添加一行,以便我们可以恢复文章和页面的先前修订。这是一个有用的功能,当我们的网站变大时,它可能会变成一个问题。幸运的是,我们可以减少要存储的最大发布修订数量,或者完全禁用该功能。如果您想禁用后期修订,请定义以下常量:

define( ‘WP_POST_REVISIONS’, false );
define( ‘WP_POST_REVISIONS’, false );
重要声明

本网站的文章部分内容可能来源于网络,如有侵犯你的权益请联系邮箱:wxzn8@outlook.com
站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!请在下载24小时内删除!本站资源大多存储在云盘,如发现链接失效请反馈,我们会及时更新。

给TA打赏
共{{data.count}}人
人已打赏
WordPress开发学习

如何提升WordPress站内搜索速度及结果准确率

2023-1-13 18:54:19

WordPress开发学习

使用MAMP时如何修复“此站点无法提供安全连接”错误

2023-1-13 18:54:45

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索