php代码快捷修改wordpress数据库前缀

很多站长开始安装wordpress时,数据库前缀都是默认wp_,但默认前缀对于wordpress安全性有所影响,所以面临着修改数据库前缀。对于新手站长来说,修改数据库前缀就略有难度,目前网上常见的方法是通过SQL命令,在PHPMyAdmin中手动修改,难度和风险比较较大,前几天在偶米工作室发现一个通过php代码快捷修改数据前缀的方法,感觉不错,分享给大家。

一、修改MySQL数据库

1)将以下代码保存为rename_suffix.php,并根据自己需要修改第11、12行。
注:如果你不清楚当前数据库前缀,可以查看站点根目录下的wp-config.php文件,确定前缀。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
< ?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

二、 修改站点配置文件

4)将站点根目录下的wp-config.php文件中的数据库前缀修改为最新前缀,并保存就可以了。
如果你是通过FTP将wp-config.php文件文件下载到本地后修改,还需要将保存后的文件上传至服务器并覆盖原有文件。
5)访问站点,看看网站前后台是否均运行正常。通过以上两步,修改数据库前缀就是这么简单,如果你也有想法,赶快行动吧。

来自:偶米工作室

转载请注明来源:自由草 » php代码快捷修改wordpress数据库前缀