给DotProject做升级

 项目目前使用的DotProject是2.1 rc1版本,并且做过汉化和解决甘特图乱码的问题。因为最近工作不太忙,就想给DotProject做下升级,网上查到现在最新版本是2.1.2,从CSDN上花10分down了一个汉化后的中文版,体积6.22M,不含simsun.ttc,simhei.ttf这两个字体,需要手动从c:\windows\fonts目录复制过来。我很奇怪,为什么下载之后进行回复,分数没回来啊?55555555……

 

升级过程简要描述

 

1 备份数据库和源程序目录

    备份数据库可以采用导出.sql、.xml文件或者直接备份整个数据库目录,推荐备份数据库目录的方式,因为在mysql数据库中,你能看到的中文是以乱码存在的,导出到文件再从文件导入回来,在实际操作中,就有可能部分中文变成乱码。我就犯了这个错误,不小心把原dotproject数据库给删除了,从.sql文件恢复以后,再访问DotProject页面,很多中文就出现了乱码,不过幸好我有备份整个数据库目录,停止mysql服务后,还原数据库目录,再启动mysql服务,DotProject页面就没有乱码了。

    源程序目录也要备份一下,以便升级后出现问题,可以和源文件比较一下,查出问题的原因。

 

2 下载DotProject-2.1.2.zip

    上面已经说过,我是从CSDN上下载的汉化版本,你也可以到官网上下载原版,自己汉化。

 

3 正式升级

    升级过程其实很简单,没有我之前想象的那么复杂。

    打开浏览器,输入http://服务器地址/dotproject/install/,访问DotProject的升级页面,如下图所示:

 


给DotProject做升级
 

 

这里是告诉你看一下config.php文件,设定数据库参数是否正确,否则升级的时候将不能连接到数据库。另外提醒你,最好将程序或数据库备份。确定这两点以后,就可以点击【Start Upgrade】按钮进行升级了。升级过程很快,几乎同步就完成了,但你可能会有个疑问,为什么页面下方没有成功的字样呢?其实,这个页面有点变形了,你把浏览器下方的滚动条往右拉动,是不是就看到Successful了。

 

4 升级中遇到的问题

  • 还原数据库后,页面出现乱码

    这个问题上面提到过,是从.sql文件还原的,至于其他备份文件如.xml,我没试过。解决办法就是使用备份的数据库目录来进行还原。

 

  • 问题跟踪(Tickets)的搜索功能不能用

    这个问题其实在2.1版本也有出现,只不过以前并没有真正使用这个功能。但是项目组从现在开始就要使用它,这次升级主要也是为了解决这个问题,但是升级后发现该问题仍然存在,上网查了一下,遇到这个问题的人不多,也鲜有发帖咨询的,不过还是被我找到了。解决方法就是修改php.ini文件,位于c:\windows\php.ini

    找到register_globals = Off,修改为register_globals = on,然后重启apache。

 

  • 新建跟踪单时出现错误

    错误代码如下:

 

Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing in d:\program files\greenamp\www\dotproject\modules\ticketsmith\do_ticket_aed.php on line 89

 

Warning: Cannot modify header information - headers already sent by (output started at d:\program files\greenamp\www\dotproject\modules\ticketsmith\do_ticket_aed.php:89) in d:\program files\greenamp\www\dotproject\classes\ui.class.php on line 511

 

    很明显是发送邮件的问题,服务器并没有提供SMTP服务。解决办法很简单,如果你想实现发邮件功能,那么就在服务器上安装SMTP服务,然后修改php.ini,将sendmail_from和SMTP前面的分号去掉,然后保存,重启apache服务。或者在\modules\ticketsmith\do_ticket_aed.php的第89行前面增加2行代码。

    ini_set("sendmail_from","[email protected]");
    ini_set("SMTP","mail.yoursite.com");

 

    如果不想发邮件,我们项目组就不需要发邮件,那么可以让DotProject在新建跟踪单时不去执行发邮件的动作,修改\modules\ticketsmith\do_ticket_aed.php代码如下:

 

    将第89行注释掉

 

    //mail($ticketNotification[$priority], $AppUI->_('Trouble ticket')." #$ticket ", $message, "From: " . $CONFIG['reply_to'] . "\nContent-type: multipart/alternative; boundary=\"$boundary\"\nMime-Version: 1.0");

 

  • 编辑讨论帖时页面布局乱,且没有提交按钮

    该问题是由于SQL语句格式有误导致。解决方法是修改\includes\main_functions.php文件的第192行。

 

    原代码

 

        $q->addWhere("user_username LIKE '$user' OR user_id = " . $user);

 

    修改后代码

 

        $q->addWhere("user_username LIKE '$user' OR user_id = '" . $user."'");

 

  • 文件页面出现异常

    访问DotProject的文件菜单,页面出现异常信息,仍然是SQL语句格式有误导致,关键语句在max(DISTINCT f.file_version)这一句,搜索整个目录发现有2个文件包含这句代码。

    \modules\files\index_table.php

    \modules\files\folders_table.php

    将两个文件的这句话修改为max(f.file_version),问题得以解决。

 

    如果升级前有上传过文件,而升级时删除了原目录的话,该页面只显示出上传过的文件信息,却不能下载文件。我们在备份的目录中找到\files文件夹,并将它复制到DotProject根路径下,就能下载文件了。

你可能感兴趣的:(sql,PHP,mysql,浏览器,咨询)