- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我发现 ZF2 session 和超时有一些奇怪且令人沮丧的行为。
这是我用来设置 session 的代码:
$sessionConfig = new \Zend\Session\Config\StandardConfig();
$sessionConfig->setOptions(array(
'cache_expire' => 525949,
'cookie_domain' => 'mydomain.com',
'cookie_lifetime' => 31536000,
'cookie_path' => '/',
'cookie_secure' => TRUE,
'gc_maxlifetime' => 31536000,
'name' => 'mydomain',
'remember_me_seconds' => 31536000,
'use_cookies' => TRUE,
));
$sessionManager = new \Zend\Session\SessionManager($sessionConfig);
$sessionManager->rememberMe(31536000);
$sessionManager->setSaveHandler(new \Zend\Session\SaveHandler\MongoDB($mongo, $options);
$session = new \Zend\Session\Container('MY_SESSION', $sessionManager);
当我执行这段代码时,cookie 被创建,但过期时间是 session 结束。
如果我这样修改代码:
$sessionManager = new \Zend\Session\SessionManager();
$sessionManager->rememberMe(31536000);
$sessionManager->setConfig($sessionConfig);
$session = new \Zend\Session\Container('MY_SESSION', $sessionManager);
cookie 已创建,有效期为一年后。
但是,即使 cookie 仍然存在, session 仍会在 30 分钟左右后过期。
我想要的是 cookie 和 session 都持续一年。我如何在 ZF2 中完成此操作?
最佳答案
看起来问题与 gc_maxlifetime 选项的处理有关。在\Zend\Session\SaveHandler\MongoDB 中,这个值通过 ini_get('session.gc_maxlifetime'); 从 PHP 配置中获取;
我在\Zend\Session\SessionManager 中没有看到调用 ini_set() 的任何地方。
我认为解决方案是执行以下操作之一:
关于php - Zend\Session\SessionManager 和 cookie_lifetime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16567673/
我正在使用 RxAlamofire 更新我的代码。我用最新版本更新了 RxAlmofire。我如何更新这段代码config.httpAdditionalHeaders = SessionManager
我正在尝试将其他人的代码迁移到 Swift 3。一切都很顺利,除了一行我无法弄清楚。它在 Swift 2.2 中工作正常,但在 Swift 3 中无法编译。它返回错误: Cannot call val
我正在运行 Wildfly 8.1 服务器。我有自己的 SessionManager 实现 io.undertow.server.session.SessionManager。我想配置系统以使用我的
我需要一些帮助。我在尝试使用挂毯 5.3.6、hibernate 4.1.7.Final 和 Mysql 5.1.21 将一些表单数据存储到我的数据库中时遇到此错误 实际上,数据存储在数据库中,但单击
这是我在设置 SessionManager 时尝试更改超时长度的代码: private var defaultSessionManager: Alamofire.SessionManager = {
我是 ZF2 的新手,不太习惯如何做事。我想使用 session 来跟踪用户(记住我)。我在类的一部分中有这段代码: $sessionManager = new \Zend\Session\Sessi
我在谷歌上找到了很多关于这个问题的引用,但没有答案。我正在使用最新版本的 jetty (8.1.2.v20120308),但似乎无法获得能够使用 session 的嵌入式 servlet。该示例当然是
使用 Alamofire 4.0 和 Swift 3.0 可以实现: Alamofire.request("http://content.uplynk.com/player/assetinfo/ab1
ServletContainerSessionManager 不是 ValidatingSessionManager;它是否遵循底层容器来处理孤立清理?这似乎不对。 我认为切换到 DefaultWeb
全部。现在我通过观看《Coding for entreprenus》来学习 iOS 和 swift、alamofire。我使用 swift3 和 alamofire4,但他们教它 alamofire3
所以我正在为我的项目制作一个用于 Alamofire 网络的实用程序类。 我在里面有各种功能,比如: func createAccount() func login() 我想对所有这些功能的请求和响应
我想做什么:我正在将 Spotify SDK 实现到我的 iOS 项目中。我已成功收到 Spotify API 的访问 token ,因为我能够使用所述 API 执行搜索艺术家、搜索歌曲和查看播放列表
请给我建议如何正确设置 Jetty。我使用的是最新版本的 jetty (9.0.6.v20130930)。我订购了服务器实现具体的 servlet,但它不起作用! 我已经与 Jetty 合作过一些,但
当我尝试在 shiro.ini 中设置 session 超时时,我面临另一个问题像这样: securityManager.sessionManager.globalSessionTimeout = 3
为什么我收到此错误,我没有。我已经在使用 Alamofire 5 时将 Alamofire 更改为 AF。请指导有什么问题和需要更改的地方。下面是我收到错误的代码: private func cal
我想在 Cassandra 中检测通过 datastax java 驱动程序执行的查询。扩展 com.datastax.driver.core.SessionManager 是这样吗?另外,如果扩展
在 AFHTTPSessionManager 的子类中,在调用 GET 方法之前,我有以下内容: [self.requestSerializer setValue:userName forHT
所以,我正在使用 Alamofire 发出一些 HTTP 请求,并且我正在尝试使用缓存策略,但服务器的 header 中没有“Cache-Control”标志。所以我想使用 session 管理器添加
几个月来我一直面临这个问题,我已经阅读了几乎所有关于此的信息并实现了大多数解决方案,但仍然没有任何改变。我不知道我在哪里犯了错误。 我正在使用自定义 SessionManager 类在我的 ASP.n
我发现 ZF2 session 和超时有一些奇怪且令人沮丧的行为。 这是我用来设置 session 的代码: $sessionConfig = new \Zend\Session\Config
我是一名优秀的程序员,十分优秀!