当前位置: 首页>>代码示例>>PHP>>正文


PHP SessionHandler::singleton方法代码示例

本文整理汇总了PHP中SessionHandler::singleton方法的典型用法代码示例。如果您正苦于以下问题:PHP SessionHandler::singleton方法的具体用法?PHP SessionHandler::singleton怎么用?PHP SessionHandler::singleton使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SessionHandler的用法示例。


在下文中一共展示了SessionHandler::singleton方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: setupSessionHandler

 /**
  * Sets a custom session handler up, if there is one.
  * If the global variable 'session_cache_limiter' is defined, its value
  * will override the cache limiter setting found in the configuration
  * file.
  */
 function setupSessionHandler()
 {
     global $conf;
     ini_set('url_rewriter.tags', 0);
     if (!empty($conf['session']['use_only_cookies'])) {
         ini_set('session.use_only_cookies', 1);
         if (!empty($conf['cookie']['domain']) && strpos($conf['server']['name'], '.') === false) {
             Horde::fatal('Session cookies will not work without a FQDN and with a non-empty cookie domain. Either use a fully qualified domain name like "http://www.example.com" instead of "http://example" only, or set the cookie domain in the Horde configuration to an empty value, or enable non-cookie (url-based) sessions in the Horde configuration.', __FILE__, __LINE__);
         }
     }
     session_set_cookie_params($conf['session']['timeout'], $conf['cookie']['path'], $conf['cookie']['domain'], $conf['use_ssl'] == 1 ? 1 : 0);
     session_cache_limiter(Util::nonInputVar('session_cache_limiter', $conf['session']['cache_limiter']));
     session_name(urlencode($conf['session']['name']));
     $type = !empty($conf['sessionhandler']['type']) ? $conf['sessionhandler']['type'] : 'none';
     if ($type == 'external') {
         $calls = $conf['sessionhandler']['params'];
         session_set_save_handler($calls['open'], $calls['close'], $calls['read'], $calls['write'], $calls['destroy'], $calls['gc']);
     } elseif ($type != 'none') {
         require_once 'Horde/SessionHandler.php';
         $sh =& SessionHandler::singleton($conf['sessionhandler']['type'], array_merge(Horde::getDriverConfig('sessionhandler', $conf['sessionhandler']['type']), array('memcache' => !empty($conf['sessionhandler']['memcache']))));
         if (is_a($sh, 'PEAR_Error')) {
             Horde::fatal(PEAR::raiseError('Horde is unable to correctly start the custom session handler.'), __FILE__, __LINE__, false);
         } else {
             ini_set('session.save_handler', 'user');
             session_set_save_handler(array(&$sh, 'open'), array(&$sh, 'close'), array(&$sh, 'read'), array(&$sh, 'write'), array(&$sh, 'destroy'), array(&$sh, 'gc'));
         }
     }
 }
开发者ID:justinlyon,项目名称:scc,代码行数:34,代码来源:Horde.php


注:本文中的SessionHandler::singleton方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。