/** * @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; }
/** * @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; }
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; }
/** * @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); } }
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); }