最近,我将Wordpress安装从生产服务器克隆到开发服务器。这需要我复制和备份数据库和public\\u html文件夹,以将生产服务器传输到新的开发服务器。
所有这些都很有效。我的一些内容(如图像上传)不在那里,但这是因为我主要关注的是数据库和一般架构,而不是特定的文件,所以这不是问题。
我唯一的问题是,现在当我登录到管理员帐户,然后导航到开发服务器上的管理仪表板时,我无法进入。上面写着You do not have sufficient permissions to access this page. 在…上http://mysite/wp-admin/index.php
为什么会这样?我检查了wp_usermeta
表,并为我确实是管理员的用户找到roi_user_level
在10
和roi_capabilities
设置为a:1:{s:13:"administrator";b:1;}
那么,当我以该用户身份登录时,为什么我不能登录?这可能与更改数据库中的所有URL有关吗?我这样做是为了在开发服务器上删除对生产服务器的引用,并使用了这个有效的工具:https://interconnectit.com/products/search-and-replace-for-wordpress-databases/
但我认为这不是问题所在。有没有办法解释为什么我在服务器移动后无法访问管理区域?
编辑:我应该澄清一下:我并不是简单地放弃了生产public_html
进入开发服务器。相反,我在开发服务器上重新安装了wordpress,并导入了生产数据库。这就是为什么我的文件,如图像,在帖子存在时无法工作的原因。所以这不是一个坏/旧的问题。例如htaccess,因为这样的文件将来自Wordpress的新安装,而不是生产服务器的旧版本。生产服务器的文件(一般来说)已经过时,这就是为什么我要将体系结构移动到一个新安装的开发服务器上,以便更新我们的设置。
Edit2:我通过phpmyadmin禁用了所有插件,问题仍然存在!:(
最合适的回答,由SO网友:Summer Developer 整理而成
答案如下:
在迁移期间将表名更改为正确的前缀是不够的,您必须进入wp_options
表格和更改wp_user_roles
(选项id92
) 也要使用正确的前缀。
此外,在wp_usermeta
, 更改管理员用户(如果不是所有用户)的前缀。
比如说roi_user_level
成为wp_user_level