bugfree如何安装及配置

这篇文章主要为大家展示了“bugfree如何安装及配置”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“bugfree如何安装及配置”这篇文章吧。

成都创新互联主要从事做网站、网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务景谷,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220

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

网址:http://jaist.dl.sourceforge.net/project/xampp/XAMPP%20Windows/1.8.2/xampp-win32-1.8.2-3-VC9.zip

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

网址为:http://51.duote.org/bugfree.zip

解压缩后放到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首页。

以上是“bugfree如何安装及配置”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


网页标题:bugfree如何安装及配置
文章转载:http://scyanting.com/article/jogpci.html