You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

手动迁移WordPress至cPanel后无法访问后台的求助

解决WordPress迁移主域名后无法访问后台的权限问题

针对你迁移到主域名3rdPhazeWholesale.com后出现的「Sorry, you are not allowed to access this page」错误,结合错误日志提示的Undefined array key "capabilities",可以从以下几个方向排查修复:

1. 确认用户权限字段的表前缀匹配

WordPress的用户权限字段capabilities会带有表前缀(默认是wp_),如果主域名站点的数据库表前缀和子域名不同,你之前更新wp_capabilities的操作就不会生效:

  • 打开wp-config.php查看$table_prefix的值(比如wp_3rd_)
  • 在数据库的wp_usermeta表中,找到管理员用户ID对应的{$prefix}capabilities字段,更新其值为a:1:{s:13:"administrator";b:1;}

2. 补全管理员用户的权限相关字段

仅更新capabilities可能不够,还需要同步设置user_level字段:

  • 找到同一用户ID对应的{$prefix}user_level字段,设置值为10
  • 如果该字段不存在,直接插入记录(替换表前缀和用户ID):
    INSERT INTO `wp_usermeta` (`user_id`, `meta_key`, `meta_value`)
    VALUES (1, 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}'),
           (1, 'wp_user_level', '10');
    

3. 修正主域名的站点配置

确保wp-config.php中的站点URL配置正确,避免域名不匹配触发权限校验:

define('WP_HOME', 'https://3rdPhazeWholesale.com');
define('WP_SITEURL', 'https://3rdPhazeWholesale.com');

4. 强制刷新角色缓存

WordPress会缓存角色数据,缓存过期或不匹配会导致权限读取异常:

  • 在wp-config.php中临时添加以下代码,访问后台后再删除:
    define('WP_ROLES_CACHE_KEY', 'wp_roles_' . time());
    

5. 排查PHP版本兼容性

错误日志中的Undefined array key警告,可能是主域名的PHP版本过高(如PHP 8.0+)与旧版WordPress不兼容:

  • 在cPanel中切换主域名的PHP版本,和子域名使用的版本保持一致
  • 若版本一致,可尝试开启PHP的错误兼容模式(在php.ini中设置error_reporting = E_ALL & ~E_NOTICE & ~E_WARNING)

6. 检查数据库克隆的完整性

克隆子域名数据库到主域名时,可能存在wp_usermeta表记录丢失的情况:

  • 对比子域名和主域名的wp_usermeta表,确认管理员用户的所有meta记录都已完整复制
  • 若缺失,直接从子域名数据库导出对应记录,导入到主域名数据库中

内容的提问来源于stack exchange,提问作者JASON ELLINGTON

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 04:55:17