随笔

工作一年了,有个很不错的同事辞职了,移民新西兰。不错,挺羡慕…

CentOS 5 编译安装 MySQL 5.5.x 新版本

Oracle表示,按照内部的标准,在Linux上,MySQL 5.5的读写速度比5.1版本提升了360%。在Windows Server机器上,这方面性能的提升超过了1500%。
而我们的 Discuz!  和 Discuz! X 系列都可以完美兼容 MySQL 5.5 版本,不会像某个其他论坛软件那样会出现 TYPE 报错。
既然程序兼容,性能又提升如此之大,那我们安装 PHP + MySQL 的时候,就选 5.5 版本吧,不过 5.5 版本在 Linux 上的安装和以外的 5.0 5.1版本已经不一样了。
下面是在 CentOS 5 下的推荐步骤。

1,安装bison和cmake
提示:MySQL 5.5 版本的安装需要这两个软件,bison我们可以用方便的yum直接安装好,cmake则用编译安装的办法。
yum install bison
wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz
tar zxvf cmake-2.8.4.tar.gz
cd cmake-2.8.4/
./configure
gmake
gmake install

2,下载MYSQL 5.5.13
下载地址:http://dev.mysql.com/get/Downloa … //mysql.ntu.edu.tw/
如果下载速度太慢,也可以打开http://dev.mysql.com/downloads/mirror.php?id=402746
然后点No thanks, just take me to the downloads!
就会出现下载点列表。

tools工具融合搬家向导模块

2011-07-27更新的tools工具包,融合进了“搬家向导”模块。该模块针对当前论坛诸多站长面临的问题—-论坛搬家,数据库迁移而推出,向导本身并不具体操作什么,只是按步骤提示站长,下一步要干什么了,必要时对一些步骤进行了检测,具体的操作,还是需要站长自己安装向导来完成。网站搬家,数据库迁移是经营网站经常遇见的情况,就是在搬家的过程中,往往会出现各种问题。

网站搬家简单来说就是数据的迁移,包括数据库,程序文件、附件等,移到新服务器中去,独立服务器由于权限大,数据库及文件打包就可以拷贝,唯独虚拟主机空间要稍微复杂点,因为他的数据库备份恢复依赖于安装,要安装好后,才能操作备份、恢复。

接收或取消主题回帖提醒的功能分析

在Discuz!之前一系列版中,一直有个功能,叫关注此主题,一有回复,就会通知这些关注此主题的人,以短消息的方式。在Discuz!X系列中,只有主题的作者才有这个功能,接收或取消回复提醒。现在分析一下Discuz!X系列的这个功能,如果站长有兴趣,还可以依照这个思路去自己动手修改一番,未尝不可。

首先我们看看在模版中的代码:

<!--{if $thread['authorid'] == $_G['uid']}-->
        <span class="pipe">|</span>
	    <!--{if $replynotice == 1}-->
	            <a id="replynotice" href="forum.php?mod=misc&action=replynotice&op=ignore&tid=$_G[tid]" status="1" onclick="ajaxmenu(this, 3000, 0, 0, '43', function () {replyNotice();});return false;">{lang ignore_replynotice}</a>
	    <!--{else}-->
	            <a id="replynotice" href="forum.php?mod=misc&action=replynotice&op=receive&tid=$_G[tid]" status="0" onclick="ajaxmenu(this, 3000, 0, 0, '43', function () {replyNotice();});return false;">{lang receive_replynotice}</a>
            <!--{/if}-->
<!--{/if}-->

Discuz!强制上传头像后失败的原因分析

强制上传头像往往会作为站长防灌水和引导用户完善资料的手段,之前有部分站长提出自己的网站设置强制上传头像无效,上传头像后,依然提示需要上传。现在对这部分功能做一下分析,看看问题出在哪。

在后台,全局防灌水基本设置中,可以开启“强制新用户上传头像”,开启后,setting表中need_avatar字段的值变为“1”。这时新注册的用户如果需要进行发帖回复等操作,没进行头像上传的,应该会提示上传头像。例如进行发帖操作,会调用forum_post.php文件中的cknewuser();函数对用户进行验证,cknewuser();在function_core.php中定义,其中大约3160行有对头像的验证,我们看看验证的条件:

if($_G['setting']['need_avatar'] &&
 empty($ckuser['avatarstatus'])) {

if(empty($return)) showmessage('no_privilege_avatar', '', array(), array('return' => true));

$result
 = false;

}