按照官方要求安装系统后,好像一切都正常的样子,但是如果你发现添加不了客户,或者联系人的话,那就是我遇到的问题了,添加account或者其他选项时候出 现:Record you are trying to access is not found. Go Back。就是因为数据库的“STRICT_TRANS_TABLES”模式(不能使用自动增加字段)问题了,如果你已经使用了汉化补丁,这个出错提示是 没有文字的,只有一个返回的链接,也是同样添加不了任何联系人或者客户。
解决方法有两种:
1、修改mysql的my.ini文件,注释掉:sql- mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"(在前 面加个#即可)这行,或者改为sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" ;
2、修改vtiger的文件,该文件位于:/adodb/drivers/adodb-mysql.inc.php。找到以下代码:
// returns true or false
function _pconnect($argHostname, $argUsername, $argPassword, $argDatabasename)
{
if (!empty($this->port)) $argHostname .= ":".$this->port;
if (ADODB_PHPVER >= 0x4300)
$this->_connectionID = mysql_pconnect($argHostname,$argUsername,$argPassword,$this->clientFlags);
else
$this->_connectionID = mysql_pconnect($argHostname,$argUsername,$argPassword);
if ($this->_connectionID === false) return false;
if ($this->autoRollback) $this->RollbackTrans();
// fix sql_mode
mysql_query("SET SESSION SQL_MODE := ''");
// end fix sql_mode
if ($argDatabasename) return $this->SelectDB($argDatabasename);
return true;
}
红色部分是新增的代码,这行无非就是在vtiger操作那些增加记录的时候,设置sql_mode为空白,让问题得到暂时的解决,这个解决方法不影响服务器上面的mysql配置,推荐使用。