bugfree安装mysql,bugfree安装及配置

1.下载Apache、Php、Mysql等的运行环境——XAMPP

2.解压缩到XAMPP目录下,D:\Program Files\XAMPP

3.运行D:\Program Files\XAMPP\setup_xampp.bat

4.运行xampp-control.exe,提示bugfile文件夹没有读写权限,查看XAMPP目录,发现该目录下并无该文件夹,于是手动建立此文件夹,然后再次检查,发现成功通过检查,可以进行下一步骤的配置操作。

5.启动Apache服务器和Mysql服务器

6.在浏览器中输入http:\\localhost,出现XAMPP首页,选择左侧目录树中的项,了解一下XAMPP,同时,配置下【安全】下的相关密码、用户名等安全信息。

7.下载bugfree

解压缩后放到D:\Program Files\xampp\htdocs目录下。【注意,此处不是把bugfree目录放在这个目录下,而是要把bugfree目录下的文件复制到这个目录下。我首次安装时,就是把bugfree目录放在htdocs目录下,但是启动浏览器输入http:\\localhost之后,并没有弹出预期的bugfree配置页面。但是更通常的方法是把bugfree目录复制到htdocs目录,但是我这样配置行不通,因为只是做了解,所以没有深入探索,大家安装时还请注意。】

8.在浏览器中输入http:\\localhost,弹出错误提示

==================================================================================================

PHP Error

mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead.

D:\Program Files\xampp\htdocs\protected\service\SqlService.php(563)

551 *

552 * @author Yupeng Lee

553 * @param string $fieldName FieldName

554 * @param string $operatorName =,,<= eg.

555 * @param string $fieldValue FieldValue

556 * @return string Query string for SQL

557 */

558 private static function baseGetFieldQueryStr($searchFieldConfig, $type, $fieldName, $operatorName, $fieldValue)

559 {

560 $basicTableName = '{{' . $type . 'view}}';

561 $fieldValue = trim($fieldValue);

562

563 $fieldValue = mysql_escape_string($fieldValue);

564 //handle search value %

565 $fieldValue = str_replace('%', '\%', $fieldValue);

566 // $fieldValue = str_replace('_', '\_', $fieldValue);

567

568 $queryStr = '';

569 if($fieldValue == '')

570 {

571 return $queryStr;

572 }

573 elseif(Info::MARK == $fieldName)

574 {

575 $inOrNotIn = ' not in ';

Stack Trace

#0 +

– D:\Program Files\xampp\htdocs\protected\service\SqlService.php(563): mysql_escape_string("Sample Product")

558 private static function baseGetFieldQueryStr($searchFieldConfig, $type, $fieldName, $operatorName, $fieldValue)

559 {

560 $basicTableName = '{{' . $type . 'view}}';

561 $fieldValue = trim($fieldValue);

562

563 $fieldValue = mysql_escape_string($fieldValue);

564 //handle search value %

565 $fieldValue = str_replace('%', '\%', $fieldValue);

566 // $fieldValue = str_replace('_', '\_', $fieldValue);

567

568 $queryStr = '';

#1 +

– D:\Program Files\xampp\htdocs\protected\service\SqlService.php(474): SqlService::baseGetFieldQueryStr(array("id" => array("label" => "ID", "type" => "number", "isBasic" => true), "title" => array("label" => "Bug标题", "type" => "string", "isBasic" => true), "module_name" => array("label" => "模块路径", "type" => "path", "isBasic" => true), "bug_status" => array("label" => "状态", "type" => "option", "isBasic" => true, "value" => array("", "Active", "Resolved", "Closed")), ...), "bug", "module_name", "UNDER", ...)

469 $queryGroup = array();

470 foreach($searchRowConditionArr as $rowCondtion)

471 {

472 $whereStr = ' ';

473 $tempQueryStr = self::baseGetFieldQueryStr($searchFieldConfig, $type,

474 $rowCondtion[$fieldName], $rowCondtion[$operatorName], $rowCondtion[$valueName]);

475 if($tempQueryStr == '')

476 {

477 if($rowCondtion[$leftParenthesesName] == "(" && $rowCondtion[$rightParenthesesName] == ")")

478 {

479

#2 +

– D:\Program Files\xampp\htdocs\protected\controllers\InfoController.php(558): SqlService::baseGetGroupQueryStr(array("id" => array("label" => "ID", "type" => "number", "isBasic" => true), "title" => array("label" => "Bug标题", "type" => "string", "isBasic" => true), "module_name" => array("label" => "模块路径", "type" => "path", "isBasic" => true), "bug_status" => array("label" => "状态", "type" => "option", "isBasic" => true, "value" => array("", "Active", "Resolved", "Closed")), ...), "bug", array(array("leftParenthesesName" => "", "field" => "module_name", "operator" => "UNDER", "value" => "Sample Product", ...)))

553 }

554 }

555

556 $searchRowArr = $this->setSpecialModuleCondiftion($searchRowArr, $productName);

557 Yii::app()->user->setState($productId . '_' . $infoType . '_search', $searchRowArr);

558 $getSqlResult = SqlService::baseGetGroupQueryStr($searchFieldConfig, $infoType, $searchRowArr);

559 if(CommonService::$ApiResult['FAIL'] == $getSqlResult['status'])

560 {

561 $whereStr = ' 1<>1 ';

562 }

563 else

#3 +

D:\Program Files\xampp\htdocs\lib\web\actions\CInlineAction.php(50): InfoController->actionIndex()

45 $controller=$this->getController();

46 $method=new ReflectionMethod($controller, $methodName);

47 if($method->getNumberOfParameters()>0)

48 return $this->runWithParamsInternal($controller, $method, $params);

49 else

50 return $controller->$methodName();

51 }

52

53 }

#4 +

D:\Program Files\xampp\htdocs\lib\web\CController.php(300): CInlineAction->runWithParams(array("type" => "bug", "product_id" => "1"))

295 {

296 $priorAction=$this->_action;

297 $this->_action=$action;

298 if($this->beforeAction($action))

299 {

300 if($action->runWithParams($this->getActionParams())===false)

301 $this->invalidActionParams($action);

302 else

303 $this->afterAction($action);

304 }

305 $this->_action=$priorAction;

#5 +

D:\Program Files\xampp\htdocs\lib\web\filters\CFilterChain.php(134): CController->runAction(CInlineAction)

129 $filter=$this->itemAt($this->filterIndex++);

130 Yii::trace('Running filter '.($filter instanceof CInlineFilter ? get_class($this->controller).'.filter'.$filter->name.'()':get_class($filter).'.filter()'),'system.web.filters.CFilterChain');

131 $filter->filter($this);

132 }

133 else

134 $this->controller->runAction($this->action);

135 }

136 }

#6 +

D:\Program Files\xampp\htdocs\protected\components\Controller.php(45): CFilterChain->run()

40 if((true != Yii::app()->user->isGuest) &&

41 empty($productId))

42 {

43 LoginService::setUserInfo();

44 }

45 $filterChain->run();

46 }

47

48 public function init()

49 {

50 $language = Yii::app()->user->getState('language');

#7 +

D:\Program Files\xampp\htdocs\lib\web\filters\CInlineFilter.php(59): Controller->filterUserInfo(CFilterChain)

54 * @param CFilterChain $filterChain the filter chain that the filter is on.

55 */

56 public function filter($filterChain)

57 {

58 $method='filter'.$this->name;

59 $filterChain->controller->$method($filterChain);

60 }

61 }

#8 +

D:\Program Files\xampp\htdocs\lib\web\filters\CFilterChain.php(131): CInlineFilter->filter(CFilterChain)

126 {

127 if($this->offsetExists($this->filterIndex))

128 {

129 $filter=$this->itemAt($this->filterIndex++);

130 Yii::trace('Running filter '.($filter instanceof CInlineFilter ? get_class($this->controller).'.filter'.$filter->name.'()':get_class($filter).'.filter()'),'system.web.filters.CFilterChain');

131 $filter->filter($this);

132 }

133 else

134 $this->controller->runAction($this->action);

135 }

136 }

#9 +

D:\Program Files\xampp\htdocs\lib\web\filters\CFilter.php(41): CFilterChain->run()

36 */

37 public function filter($filterChain)

38 {

39 if($this->preFilter($filterChain))

40 {

41 $filterChain->run();

42 $this->postFilter($filterChain);

43 }

44 }

45

46 /**

#10 +

D:\Program Files\xampp\htdocs\lib\web\CController.php(1144): CFilter->filter(CFilterChain)

1139 */

1140 public function filterAccessControl($filterChain)

1141 {

1142 $filter=new CAccessControlFilter;

1143 $filter->setRules($this->acce***ules());

1144 $filter->filter($filterChain);

1145 }

1146

1147 /**

1148 * Generates pagination information.

1149 * This method can be used to generate pagination information given item count

#11 +

D:\Program Files\xampp\htdocs\lib\web\filters\CInlineFilter.php(59): CController->filterAccessControl(CFilterChain)

54 * @param CFilterChain $filterChain the filter chain that the filter is on.

55 */

56 public function filter($filterChain)

57 {

58 $method='filter'.$this->name;

59 $filterChain->controller->$method($filterChain);

60 }

61 }

#12 +

D:\Program Files\xampp\htdocs\lib\web\filters\CFilterChain.php(131): CInlineFilter->filter(CFilterChain)

126 {

127 if($this->offsetExists($this->filterIndex))

128 {

129 $filter=$this->itemAt($this->filterIndex++);

130 Yii::trace('Running filter '.($filter instanceof CInlineFilter ? get_class($this->controller).'.filter'.$filter->name.'()':get_class($filter).'.filter()'),'system.web.filters.CFilterChain');

131 $filter->filter($this);

132 }

133 else

134 $this->controller->runAction($this->action);

135 }

136 }

#13 +

D:\Program Files\xampp\htdocs\lib\web\CController.php(283): CFilterChain->run()

278 $this->runAction($action);

279 else

280 {

281 $priorAction=$this->_action;

282 $this->_action=$action;

283 CFilterChain::create($this,$action,$filters)->run();

284 $this->_action=$priorAction;

285 }

286 }

287

288 /**

#14 +

D:\Program Files\xampp\htdocs\lib\web\CController.php(257): CController->runActionWithFilters(CInlineAction, array("accessControl", "userInfo"))

252 {

253 if(($parent=$this->getModule())===null)

254 $parent=Yii::app();

255 if($parent->beforeControllerAction($this,$action))

256 {

257 $this->runActionWithFilters($action,$this->filters());

258 $parent->afterControllerAction($this,$action);

259 }

260 }

261 else

262 $this->missingAction($actionID);

#15 +

D:\Program Files\xampp\htdocs\lib\web\CWebApplication.php(277): CController->run("index")

272 {

273 list($controller,$actionID)=$ca;

274 $oldController=$this->_controller;

275 $this->_controller=$controller;

276 $controller->init();

277 $controller->run($actionID);

278 $this->_controller=$oldController;

279 }

280 else

281 throw new CHttpException(404,Yii::t('yii','Unable to resolve the request "{route}".',

282 array('{route}'=>$route===''?$this->defaultController:$route)));

#16 +

D:\Program Files\xampp\htdocs\lib\web\CWebApplication.php(136): CWebApplication->runController("info/index")

131 foreach(array_splice($this->catchAllRequest,1) as $name=>$value)

132 $_GET[$name]=$value;

133 }

134 else

135 $route=$this->getUrlManager()->parseUrl($this->getRequest());

136 $this->runController($route);

137 }

138

139 /**

140 * Registers the core application components.

141 * This method overrides the parent implementation by registering additional core components.

#17 +

D:\Program Files\xampp\htdocs\lib\base\CApplication.php(158): CWebApplication->proce***equest()

153 */

154 public function run()

155 {

156 if($this->hasEventHandler('onBeginRequest'))

157 $this->onBeginRequest(new CEvent($this));

158 $this->proce***equest();

159 if($this->hasEventHandler('onEndRequest'))

160 $this->onEndRequest(new CEvent($this));

161 }

162

163 /**

#18 +

D:\Program Files\xampp\htdocs\index.php(15): CApplication->run()

10 // remove the following lines when in production mode

11 defined('YII_DEBUG') or define('YII_DEBUG',true);

12 // specify how many levels of call stack should be shown in each log message

13 defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3);

14 require_once($yii);

15 Yii::createWebApplication($config)->run();

2014-01-02 11:30:05 Apache/2.4.7 (Win32) OpenSSL/0.9.8y PHP/5.4.22 Yii Framework/1.1.8

===================================================================================================

根据提示,找到文件D:\Program Files\xampp\htdocs\protected\service\SqlService.php,使用记事本打开SqlService。php文件,然后把函数mysql_escape_string()改为use mysql_real_escape_string() ,刷新浏览器,可以正常启动bugfree,并进入bugfree首页。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Bugfree在WIN2003下的安装手册 2008-09-15 23:54:31| 分类: 默认分类 | 标签: |字号大中小 订阅 . Bugfree作为一款免费的BUG跟踪系统,被越来越多的公司所采用来管理缺陷,在WIN2003 SERVER SP1下的安装过程如下: 1.到http://www.bugfree.org.cn/blog/?page_id=9下载Bugfree软件包(BugFree 2.0 RC2 build) 和XAMPP 1.6.3a for Windows 这里的XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包 2.首先检查自己的电脑上面是否安装并启动了IIS服务器(开始-》管理工具中查看是否有IIS选项),如果没有则进入控制面板的增加删除windows组件面板,选择应用程序服务器(就是在该项前面打勾),点击该页面的详细信息,在接下来的页面中可以看到IIS,选择,点击详细信息把里面的内容全部选中,选择确定,等待IIS安装完成,IIS安装完成后会自己启动。在IIS安装启动完成后,开始安装XAMPP,选择下载好的XAMPP1.6.3a for windows,双击,开始安装,会弹出一个选择语言的对话框,根据个人语言能力选择相应的语言。选择后,点击OK,进入继续安装界面,选择NEXT,接下来会让用户选择安装路径,默认的会是C:\XAMPP,用户可以点击BROWSE选择别的路径。选择好路径后,选择NEXT,会要求用户选择安装的服务器,此时最上面的两个选择框所对应的选项会被默认选择,下面有三个对话框,用户比对自己的电脑中缺少什么就点选上什么,这三个自己选择的选项内容为(install apache as service install mysql as service install filezila as service),选择好后,选中install,继续进行安装,这个时候你要做的事情就是等,出现finish后点击它,这个时候会有一个对话框,内容为:congratulations!the installation was successful! start the xampp control panel now?选择“是”,会有一个控制台的面板出现,同时,你可以看到apche,mysql,filezilla三个服务中,apache没有启动,这个是因为apache默认的80被其它程序占用导致,这个时候选择XAMPP的磁盘,默认的是C:\xampp,进入该子目录apache\conf下,找到httpd.conf文件,用记事本打开,找到listen 80把80处改成没有被占用的端口号,我在这里改成8080,改好此处,不要退出,再找到servername localhost:80把这里的80改成刚才你改动了的listen:80处的取代80的数字,再保存,关闭该文件,回到xampp的控制台面板,启动APACHE,启动成功。 这个时候再IE浏览器中输入http://localhost:端口号 回车,就可以看到XAMPP的维护页面;这个时候关闭浏览器,来安装bugfree程序,将bugfree的解压后整个文件夹放入\xampp\htdocs中,再打开IE,输入:http://localhost:端口号/bugfree/install.php,回车,在接下来的界面选择下一步,确认安装全新的bugfree2,在接下来的界面中勾选上创建数据库,同时把SMTP服务器是否需要验证默认选择的true改为false,然后点开始安装安装完成后,会出现要你删除一个文件的对话框,找到copy过去的bugfree文件夹,把里面的install.php删除,然后到了这里就宣布,你的bugfree部署完成了。 在你的IE中输入:http://localhost(:端口号)/bugfree登陆,爽死了,bugfree出现你的面前
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值