Exemple #1
0
 /**
 	 * @brief 打印监控信息至log文件
 	 *
 	 * @return  public function 
 	 * @retval   
 	 * @see 
 	 * @note 
 	 * @author luhaixia
 	 * @date 2012/05/02 17:59:04
 	oonst MAXLOGNUM = 100;
 	**/
 public static function dumpProfInfo()
 {
     if (!self::$writeLog) {
         self::$profInfo = array();
         return true;
     }
     $arrLogInfo = array();
     foreach (self::$profInfo as $info) {
         $module = $info['module'];
         if (isset($arrLogInfo[$module])) {
             $logStr = $arrLogInfo[$module];
         } else {
             $logStr = '';
         }
         $logStr .= self::_getLogString($info);
         $arrLogInfo[$module] = $logStr;
     }
     foreach ($arrLogInfo as $module => $logStr) {
         $fileName = Bd_AppEnv::getEnv('log', $module) . '/' . $module . '.profiler';
         self::_writeLog($fileName, $logStr);
     }
     self::$profInfo = array();
     return true;
 }
Exemple #2
0
 /**
  * @brief 全局初始化接口
  *
  * @return  success-true failed-false 
  * @retval  boolean
  * @see getCasInit()
  * @note 这个函数修改了session的存储文件路径为/odp/data/phpcas,并关闭了phpCAS第三方库本身的日志
  * @note 在一个CGI中phpCAS client对象只能被初始化一次,因此设置$isCasClientInit属性用来控制
  * @author chenyijie
  * @date 2012/09/28 22:28:43
  **/
 private static function init()
 {
     if (self::$isCasClientInit) {
         return true;
     }
     if (!self::getCasInit()) {
         Bd_Log::warning('UUAP CAS protocol init failed');
         return false;
     }
     $link = self::$arrConf['Server'][0]['Hostname'];
     $port = self::$arrConf['DefaultPort'];
     if (defined("IS_ODP")) {
         $path = Bd_AppEnv::getEnv('data');
         $path = dirname(dirname($path)) . '/phpcas/';
         session_save_path($path);
     }
     phpCAS::setDebug('');
     phpCAS::client(CAS_VERSION_2_0, $link, intval($port), '');
     phpCAS::setNoCasServerValidation();
     phpCAS::handleLogoutRequests(false);
     self::$isCasClientInit = true;
     return true;
 }
Exemple #3
0
 private static function initAp()
 {
     // 读取App的ap框架配置
     require_once LIB_PATH . '/bd/Conf.php';
     $ap_conf = Bd_Conf::getAppConf('ap');
     // 设置代码目录,其他使用默认或配置值
     $ap_conf['directory'] = Bd_AppEnv::getEnv('code');
     // 生成ap实例
     $app = new Ap_Application(array('ap' => $ap_conf));
     return true;
 }
Exemple #4
0
 /**
  * @brief 将Ap的autoload环境切换回调用者所在的APP
  *
  * @return   
  * @retval   
  * @see 
  * @note 
  * @author wiki
  * @date 2011/09/06 16:13:23
  **/
 public function resetServicePath()
 {
     $lenStack = count(Saf_Api_Server::$serviceStack);
     if ($lenStack >= 2) {
         unset(Saf_Api_Server::$serviceStack[$lenStack - 1]);
         $strLastService = Saf_Api_Server::$serviceStack[$lenStack - 2];
         //切换currAPP
         Bd_AppEnv::setCurrApp($strLastService);
         //切换Ap上下文
         $objAp = Ap_Application::app();
         $objAp->setAppDirectory(APP_PATH . "/" . $strLastService);
         $local_lib = Bd_AppEnv::getEnv('code') . '/library';
         Ap_Loader::getInstance()->setLibraryPath($local_lib);
         //还原cgi
         $arrLastCgi = Saf_Api_Server::$cgiStack[$lenStack - 2];
         $res = Saf_SmartMain::setCgiStart($arrLastCgi);
         unset(Saf_Api_Server::$cgiStack[$lenStack - 2]);
     } else {
         //切换APP
         Bd_AppEnv::setCurrApp(MAIN_APP);
         $objAp = Ap_Application::app();
         $objAp->setAppDirectory(APP_PATH . "/" . MAIN_APP);
         $local_lib = Bd_AppEnv::getEnv('code') . '/library';
         Ap_Loader::getInstance()->setLibraryPath($local_lib);
     }
 }
Exemple #5
0
 public static function getAppConf($item = null, $app = null)
 {
     //和ODP环境解耦
     if (!defined('IS_ODP')) {
         return self::getConf($item);
     }
     $conf_path = Bd_AppEnv::getEnv('conf', $app);
     if (!empty($item)) {
         $conf_path .= "/{$item}";
     }
     return self::getConf($conf_path);
 }