Skip to content

WordPress For SAE 修改表前缀后无法登陆后台的解决方案

此博客托管在新浪SAE,另外还有自己维护的几个站也一样都在SAE,因为访问量都不大,所以新浪SAE的按量收费是比较合理的,但新浪最新的价格政策调整为对应用每天收取租金的方式,其中最大租金支出是MYSQL的每日租金。

共享MySQL租金2云豆/小时,一天就是48云豆,换算人民币是0.48元每天。新浪云普通用户可以免费建立5个应用,跑满5个应用每天需要2.4元,每年是864元,这只是租金,还没算访问量占用的其他资源,这个价格完全可以租一台阿里云的基础版独立云服务器啦,而且一台服务器可以架设的站点远大于新浪SAE的普通用户所能建立的5个应用!

不过还好SAE支持跨站点授权,就是可以几个应用共享一个应用的MYSQL资源,这样就很好的节省了很多MYSQL租金。

***********************正文分割线*************************

因为共享MySQL只能有一个数据库,所以几个应用共享一个库就得使用不同的表前缀了。

那么问题就来啦,一顿折腾更改好表前缀后,后台无法登陆啦,提示“您没有足够的权限访问该页面”;

Google后参照我爱水煮鱼的文章修改了其中两个表里的内容后依然错误依旧,继续参考很多文章,都是同样的步骤,并没有操作错误;

折腾一下午,想起来前段时间为了提高页面性能开启了Wordpress的Memcache功能,随后去SAE控制台(授权和被授权应用都清一下)把Memcache给清空了一下,果然好了;原因就是修改了数据表后,和Memcache没有同步的结果。

SAE开启跨站点授权后,多个应用公用一个MYSQL的方法其实也很简单,如果你也是Wordpress For SAE 的用户可以参考以下:

1、主应用,应用设置 -> 跨应用授权 ,先授权给目标应用
2、主应用,在主应用下新建一个php文件,目的是获取主应用MYSQL数据库的访问密码,文件代码如下:


<?php
header("Content-type:text/html;charset=utf-8");

echo "用户名 :".SAE_MYSQL_USER.'<br>';
echo "密码 :".SAE_MYSQL_PASS.'<br>';
echo "主库域名:".SAE_MYSQL_HOST_M.'<br>';
echo "从库域名:".SAE_MYSQL_HOST_S.'<br>';
echo "端口 :".SAE_MYSQL_PORT.'<br>';
echo "数据库名:".SAE_MYSQL_DB;

?>

访问这个页面,就会显示你想获取的数据库信息了。

3、目标应用,修改Wordpress 的 wp_config.php 里的数据库信息为刚才获取到的信息

至此,大功告成!

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注