如何将wp mysql user/pass从localhost更改为server?

h6my8fg2  于 2021-06-20  发布在  Mysql
关注(0)|答案(7)|浏览(297)

我刚刚在本地主机上创建了wp站点,并准备将其上传到生产服务器。这两个环境运行在具有相同库和php版本的相同操作系统上,但是我为本地mysql安装设置的密码与生产服务器不同。所以,我想上传整个wp文件,一旦进入prod,我就可以修改 wp-config.php 以及更改数据库,但从长远来看,如果我不得不再次将代码拉到本地或迁移到另一台服务器,这似乎是不可管理的。。。
所以,我的问题是怎么做到的?

ykejflvf

ykejflvf1#

我将如何做到这一点如下:

//::1 is localhost on servers using ipv6, 127.0.0.1 is for ipv4
$localIpList      = ['::1', '127.0.0.1'];
$databasePassword = 'productionPassword';

if (in_array($_SERVER['SERVER_ADDR'], $localIpList)) {
    $databasePassword = 'localDevPassword';
}

这样做使它很容易维护,而且服务器\u addr也相当可靠,使用带有in \u array()的数组,如果说您使用不同的dev服务器(而不是localhost),那么在将来添加ip就很容易了。

jgzswidk

jgzswidk2#

在“wp config.php”中为“localhost”和“production”服务器提供单独的数据库参数,如下所示。

if($_SERVER['SERVER_NAME']=="localhost") //change if local server name is different
{
    $db_name='local_db_name';
    $db_username='local_db_username';
    $db_password='local_db_password';
    $db_host='local_db_host';
}
else // production server database credentials
{
    $db_name='production_db_name';
    $db_username='production_db_username';
    $db_password='production_db_password';
    $db_host='production_db_host';      
}

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

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

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

/**MySQL hostname */
define('DB_HOST', $db_host);

希望这有帮助。

wvyml7n5

wvyml7n53#

您可以通过在functions.php中添加以下代码来更改特定用户的密码
wp\u set\u password($password,$user\u id);
来源
注:删除上述代码一旦您重置为您的当前密码,否则此代码将执行每当用户访问您的网站。
您可以从数据库更改用户名

ny6fqffe

ny6fqffe4#

正确的处理方法是使用服务器环境变量:https://httpd.apache.org/docs/2.4/mod/mod_env.html#setenv
我强烈建议你不要像其他人提到的那样,将密码或任何其他私人信息直接存储在wordpress wp config文件中。
您的本地设置将具有如下环境变量:

SetEnv DB_USER mylocaldbuser
SetEnv DB_NAME mylocaldbname
SetEnv DB_HOST mylocaldbhost
SetEnv DB_PASS mylocaldbpass

然后,生产服务器将拥有自己的一组环境变量:

SetEnv DB_USER myproddbuser
SetEnv DB_NAME myproddbname
SetEnv DB_HOST myproddbhost
SetEnv DB_PASS myproddbpass

最后,wp-config.php文件如下所示:

define('DB_NAME',      $_SERVER['DB_NAME']);
define('DB_USER',      $_SERVER['DB_USER']);
define('DB_PASSWORD',  $_SERVER['DB_PASS']);
define('DB_HOST',      $_SERVER['DB_HOST']);

通过这种方式设置,wp-config.php文件不会在不同的环境中更改,因此每次部署到prod时都不必担心对其进行编辑。如果不公开wp-config(位于公共目录中)中的任何敏感信息,也会犯谨慎的错误。

alen0pnh

alen0pnh5#

使用插件一体化wp迁移
将其安装到本地设置和生产服务器上。
从本地wp安装创建导出文件。
在生产wp安装时导入它,您的数据将正确导出。
请注意,我假设您的生产服务器上安装了wordpress。如果不是这样的话,你首先必须在那里安装wordpress,然后按照下面的步骤操作。

e4eetjau

e4eetjau6#

转到phpmyadmin,选择您的数据库,然后单击“导出”选项卡,在那里您可以导出所需格式的数据,然后使用“导入”选项卡将其导入。
对于页面或其他文件系统数据,可以使用filezilla或其他ftp工具。

wz8daaqr

wz8daaqr7#

您可以直接从数据库更改用户/通行证。这是步骤,
打开数据库中的wp\u users表。
选择要编辑的用户,然后单击“编辑”链接。
使用md5更新密码,并使用您的电子邮件地址更新用户的电子邮件。
现在尝试使用更新的凭据登录。
希望这对你有帮助。

相关问题