将WordPress从本地主机移动到服务器引发管理面板访问错误?

时间:2011-05-30 作者:Vijay

我在localhost中有一个wordpress的工作版本,我试图将它们移动到远程服务器。

因为我在同一台服务器上安装了另一个wordpress,并试图将当前表重命名为前缀wp1_

我将本地数据导出到sql文件。之后,我用wp\\u0搜索并重命名了每个表名,并将它们更改为wp1\\u0并导入到我的服务器。

在我尝试登录管理面板之后,它抛出以下错误

" You do not have sufficient permissions to access this page. "
我搜索了一些论坛,并试图更改wp1\\u选项和wp1\\u usermeta中的meta键的值,这两个选项都是以wp开头的_

之后,我仍然无法登录。

对此有何想法?

Note: I\'ve changed the wp-config and related details and the front end is working fine.

5 个回复
SO网友:Elpie

当手动更改表前缀但忽略了某些更改时,通常会发生这种情况。

转到user\\u meta表并查看meta\\u key列。检查是否已将wp\\u功能等字段更改为使用wp1\\u前缀。还要查看wp1\\U选项表,以检查user\\u角色是否已更改为wp1\\u user\\u角色。

手动更改表前缀时,user\\u meta中这些字段上的前缀通常保持不变:

能力

user\\u级别

用户\\u设置

用户\\u设置\\u时间

全部检查。通过运行以下SQL查询,可以快速确定哪些未更改:

SELECT * FROM `wp1_usermeta` WHERE `meta_key` LIKE \'%wp_%\'

SO网友:Rarst

食品法典委员会Altering Table Prefixes 下列列表necessary 更改数据库前缀后要运行以修复用户的查询:

UPDATE \'newprefix_usermeta\' SET \'meta_key\' = REPLACE( \'meta_key\' , \'oldprefix_\', \'newprefix_\' );

SO网友:joelhaus

以下是所需的步骤:

wp配置中的。php,更改$table_prefix = ‘wp_’; 到您的新前缀。E、 g。$table_prefix = ‘mynewprefix_’;.

在数据库文件中,通过文本编辑器或phpmyadmin(如果已执行导入,请稍后),更改每个表前缀。。。听起来您在导入之前就已经确定了这一点(这很好,因为我不知道在导入它们时更改表名的MySQLcommand,除了可能通过mysql Workbench)。

以下数据库条目需要更改前缀(按表组织):

(以前)wp\\U选项

wp_user_roles => mynewprefix_user_roles
(之前)wp\\u usermeta
wp_capabilities => mynewprefix_capabilities [recurring based on no. of users]

wp_user_level  => mynewprefix_user_level [recurring based on no. of users]

wp_usersettings => mynewprefix_usersettings

wp_usersettingstime => mynewprefix_usersettingstime

wp_autosave_draft_ids => mynewprefix_autosave_draft_ids

wp_metaboxorder_dashboard => mynewprefix_metaboxorder_dashboard
N.B. 一些插件和主题可能会添加其他也需要更改的条目/表,但您可以run the query Elpie在整个数据库中提到要检查这一点。

SO网友:anu

不要重命名这些表,只需创建一个新的数据库并更改wp配置即可。php。只要您可以创建更多的数据库,这是一个简单得多的解决方案。

SO网友:Tmas

尝试将所有与wordpress相关的文件chmod到755,然后看看它是否有效。

结束