整整12个小时,起初还很困扰,不知道出什么问题了。服务商把数据库服务器调整了,升级了mysql(这些都是后来我验证的)MySQL – 4.0.26-standard-log到MySQL – 4.1.20-max-log。其他网站部分一切都正常,就vBulletin 3.5.4 版本的论坛老是出现如下错误:
Warning: array_keys(): The first argument should be an array in /includes/functions.php on line 3318
Warning: Invalid argument supplied for foreach() in /includes/functions.php on line 3318
奇怪了!配置文件就换了个mysql服务器的地址,其他什么都没动,于是到网上查查资料看看,看到大家也都没有什么好的解决方法,有的就直接说,放弃vBulletin了,看到这头都打,哪能说换就换啊!
后来想,肯定是数据库什么地方出的问题,不是服务器设置,就是可能服务器路径什么的什么地方不正确!登陆到后台看看设置,可进不去!
用phpmyadmin看看数据库设置,看了看也正常,这问题出在什么地方呢?
后来想了下,我只换过config.php这个文件啊,是不是这出什么问题了?在网上有人建议换成英文原版的,我在另外服务器上有一套英文原版的测试,换上测试,可换成中文的数据库,不行了,报连接数据库错误!
我还是看中文的config文件吧,终于,发现,mysql4.1和5.0需要设置不同的选项。又一想,这垃圾服务商换服务器也没通知我,是不是直接升级mysql版本了(开始不知道),经过验证的确是这样!
于是把$config[‘Database’][‘charset’] = ‘utf8’; 换成$config[‘Database’][‘charset’] = ‘latin1’; 事情解决!