直接用代码修改wordpress数据库前缀的方法

WordPress 欲思 0评论

用wordpress建站之后一般安装的时候很多人都是选择的默认配置。后期的数据库默认前缀就会存在一些安全隐患。为了安全起见一般都会修改数据库前缀。如果自己懂这方面的操作。当然也很简单。但是也有更加便捷的方法,你不需要进数据库管理工具就可以直接修改每个表的前缀。

直接用代码修改wordpress数据库前缀的方法

下面就分享一下用代码直接修改wordpres数据库前缀的方法:

一、修改MySQL数据库

1、将以下代码保存为rename_suffix.php,并根据自己需要修改第11、12行。

< ?php
header("Content-type: text/html; charset=utf-8");
/////////下面两行您需要修改///////////
$oldtablepre='wp_'; //旧的表前缀
$newtablepre='new_'; //您要修改成新的表前缀
/////////上面两行您需要修改///////////

##########@以下请勿修改@###########################!DONT CHANGE BELOW!##################################################
require_once( dirname(__FILE__) . '/wp-load.php' );

$tables=array("{$oldtablepre}commentmeta","{$oldtablepre}comments","{$oldtablepre}links","{$oldtablepre}options","{$oldtablepre}postmeta","{$oldtablepre}posts","{$oldtablepre}terms","{$oldtablepre}term_relationships","{$oldtablepre}term_taxonomy","{$oldtablepre}usermeta","{$oldtablepre}users");

echo '<div style="font-size:1.2em;"><span style="color:gray;font-weight:bold;">下面更改表名:</span><hr />';

foreach ($tables as $key => $value){
    $oldtable=$value;
    $newtable=str_replace($oldtablepre,$newtablepre,$value);
    $wpdb->query("ALTER TABLE `$oldtable` RENAME TO `$newtable`");
    echo '成功更改表名'.$oldtable.'为:<span style="color:green;">'.$newtable.'</span><br />';
}

echo '<span style="color:gray;font-weight:bold;">下面更改'.$newtablepre.'options表中的键值:</span><hr />';

$wpdb->query("update `{$newtablepre}options` set `option_name`=replace(option_name,'{$oldtablepre}user_roles','{$newtablepre}user_roles')");

echo '成功更改'.$oldtablepre.'user_roles为:<span style="color:green;">'.$newtablepre.'user_roles</span><br />';

$meta_key=array("{$oldtablepre}capabilities","{$oldtablepre}user_level","{$oldtablepre}autosave_draft_ids","{$oldtablepre}usersettings","{$oldtablepre}usersettingstime");

echo '<span style="color:gray;font-weight:bold;">下面更改'.$newtablepre.'usermeta表中的键值:</span><hr />';

foreach ($meta_key as $key => $value){
    $oldoption=$value;
    $newoption=str_replace($oldtablepre,$newtablepre,$value);
    $rs=$wpdb->query("update `{$newtablepre}usermeta` set `meta_key` =replace(meta_key,'$oldoption','$newoption')");
    echo '成功更改'.$oldoption.'为:<span style="color:green;">'.$newoption.'</span><br />';
}
echo '';
?>

2、将rename_suffix.php文件上传至站点根目录下,确保该文件与wp-config.php文件位于同级目录。

3、在浏览器中访问rename_suffix.php文件,即http://你的域名.com/rename_suffix.php

二、 修改站点配置文件

1、将站点根目录下的wp-config.php文件中的数据库前缀修改为最新前缀,并保存就可以了。如果你是通过FTP将wp-config.php文件文件下载到本地后修改,还需要将保存后的文件上传至服务器并覆盖原有文件。

2、访问站点,看看网站前后台是否均运行正常。通过以上两步,修改数据库前缀就是这么简单。

注:如果你不清楚当前数据库前缀,可以查看站点根目录下的wp-config.php文件,确定前缀。前缀名称什么的自己可以随便修改。代码注解里面都已经写的很清楚了。

转载请注明:欲思博客 » 直接用代码修改wordpress数据库前缀的方法

如果你觉得这篇文章或者我分享的主题对你有帮助,请支持我继续更新网站和主题 !捐赠本站
喜欢 (0)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址