作者:手机用户2502858457 | 来源:互联网 | 2014-05-27 15:53
前段时间安装了Discuz!X3.0,感觉不错!不过还是出现了一些意想不到的问题,在这里总结一下。版本的选择作为中文论坛当天首选简体中文GBK,当然考虑实际情况可以安装其他的,比如UTF8。一般安装的时候都会选择最新版本,但是这个也会出现头疼的问题,比如
前段时间安装了Discuz! X3.0,感觉不错!不过还是出现了一些意想不到的问题,在这里总结一下。
版本的选择
作为中文论坛当天首选简体中文GBK,当然考虑实际情况可以安装其他的,比如UTF8。一般安装的时候都会选择最新版本,但是这个也会出现头疼的问题,比如下面要说到的注册出现死循环,这就要得自己解决。不过这次X3.0出来后,官方差不多一个多月给出一个升级包,这个也算及时,但是对于站长,还是要选择稳定版本。现在看来X3.0经过三次的修补,基本的Bug应该已经解决!
注册死循环解决
新用户注册验证邮件发到邮箱,点击邮箱内的连接还是返回到注册页,仍然提示注册。
经测试部份邮件链接注册出现解析失败的问题,解决方法为修改\source\class\class_member.php文件。
查找:
$_GET['hash'] = preg_replace("/[^\[A-Za-z0-9_\]%]/", '', $_GET['hash']);
替换为:
$_GET['hash'] = preg_replace("/[^\[A-Za-z0-9_\]%\s+-\/=]/", '', $_GET['hash']);
禁止游客看到会员的资料
打开 source\module\home\home_space.php ,来到第28行的:
$do = (!empty($_GET['do']) && in_array($_GET['do'], $dos))?$_GET['do']:'index';
在下面添加:
if(!$_G['uid'] && $do != 'index') {
showmessage('not_loggedin', NULL, array(), array('login' => 1));
}
如果你想连空间首页都不让游客看的话,那么就把 && $do != ‘index’ 给去掉就成了!
此方法同样也适合于其它版本。
开启memcache内存优化
discuz支持的内存优化方式有多种,包括Xcache、memcache、eAccelerator等,不过建议开启memcache就可以了!
查看是否开启memcache内存优化在:后台-全局-性能优化-内存优化。
安装教程网上有很多,可以自行google。安装好之后,打开php.ini文件
在扩展里添加一行:extension=php_memcache.dll ,保存文件。
然后修改:/config/config_global.php文件,
将其中的
$_config['memory']['memcache']['server'] = '';
修改为:
$_config['memory']['memcache']['server'] = '127.0.0.1';
Discuz开启gzip页面压缩
打开 /config/config_global.php文件
查找:
$_config['output']['gzip'] = '0';
修改为
$_config['output']['gzip'] = '1';
修改完成后在论坛底部就会看到:
GMT+8, 2013-8-11 21:56 , Processed in 0.077634 second(s),
22 queries , Gzip On, Memcache On
说明已经修改成功!