您的位置:首页 > 编程语言 > PHP开发

bugfree安装及配置

2014-01-02 16:19 363 查看
1.下载Apache、Php、Mysql等的运行环境——XAMPP网址:http://jaist.dl.sourceforge.net/project/xampp/XAMPP%20Windows/1.8.2/xampp-win32-1.8.2-3-VC9.zip2.解压缩到XAMPP目录下,D:\Program Files\XAMPP3.运行D:\Program Files\XAMPP\setup_xampp.bat4.运行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 Errormysql_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<leeyupeng@gmail.com>553 * @param string $fieldName FieldName554 * @param string $operatorName =,<,>,<= eg.555 * @param string $fieldValue FieldValue556 * @return string Query string for SQL557 */558 private static function baseGetFieldQueryStr($searchFieldConfig, $type, $fieldName, $operatorName, $fieldValue)559 {560 $basicTableName = '{{' . $type . 'view}}';561 $fieldValue = trim($fieldValue);562563 $fieldValue = mysql_escape_string($fieldValue);564 //handle search value %565 $fieldValue = str_replace('%', '\%', $fieldValue);566 // $fieldValue = str_replace('_', '\_', $fieldValue);567568 $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);562563 $fieldValue = mysql_escape_string($fieldValue);564 //handle search value %565 $fieldValue = str_replace('%', '\%', $fieldValue);566 // $fieldValue = str_replace('_', '\_', $fieldValue);567568 $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 }555556 $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 else50 return $controller->$methodName();51 }5253 }#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 else303 $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 else134 $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 }4748 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 else134 $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 }4546 /**#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->accessRules());1144 $filter->filter($filterChain);1145 }11461147 /**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 else134 $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 else280 {281 $priorAction=$this->_action;282 $this->_action=$action;283 CFilterChain::create($this,$action,$filters)->run();284 $this->_action=$priorAction;285 }286 }287288 /**#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 else262 $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 else281 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 else135 $route=$this->getUrlManager()->parseUrl($this->getRequest());136 $this->runController($route);137 }138139 /**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->processRequest()153 */154 public function run()155 {156 if($this->hasEventHandler('onBeginRequest'))157 $this->onBeginRequest(new CEvent($this));158 $this->processRequest();159 if($this->hasEventHandler('onEndRequest'))160 $this->onEndRequest(new CEvent($this));161 }162163 /**#18 +– D:\Program Files\xampp\htdocs\index.php(15): CApplication->run()10 // remove the following lines when in production mode11 defined('YII_DEBUG') or define('YII_DEBUG',true);12 // specify how many levels of call stack should be shown in each log message13 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首页。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息