新闻中心

升级到joomla 2.5后台出现lock tables的解决方法

作者 / 无忧主机 时间 2012-11-04 07:53:39

随着joomla新版本的到来,老版本已经逐渐推出历史舞台,功成身退,还有许多用户都忙着从joomla1.5升级为joomla 2.5,但是joomla2.5添加了许多的东西,LOCK TABLES就是其中的一个,许多用户升级之后,许多用户都遇到了添加菜单项等一系列不能操作的问题,提示 Access denied for user 'xxx'@'localhost' to database 'xxxx' SQL=LOCK TABLES 。这个是由于joomla 1.5版本操作数据库没有加入lock table 机制,升级之后便有了lock table 机制,这也是从性能安全方面考虑,那么我们应该如何解决这个问题呢? 解决的方法就是修改joomla的源文件: 通过ftp工具连接您的php虚拟主机找到/libraries/joomla/batabase/tabke.php ,使用文本编辑器找到这段代码:

protected function _lock()

{

       $this->_db->lockTable($this->_tbl);

       $this->_locked = true;

       return true;

}
把里面的的代码注释掉,注释代码如下:
protected function _lock()

{

       //$this->_db->lockTable($this->_tbl);

       //$this->_locked = true;

       //return true;

}
接着找到这段代码
protected function _unlock()

{

       $this->_db->unlockTables();

       $this->_locked = false;

       return true;

}
同样把这段代码修改为:
protected function _unlock()

{

       //$this->_db->unlockTables();

       //$this->_locked = false;

       //return true;

}
修改之后保存后,上传到网站ftp里面覆盖就可以,记得覆盖前要先备份原始文件哦!   纯Linux环境下高免备案【香港独立IP地址】 php空间,仅仅只需199元一年起。商务中国域名核心代理直销50元注册国际顶级域名

本文地址:https://www.51php.com/joomla/9788.html

1
1
1
1
1
1
1