会话注销,同时获取大量数据

时间:2014-01-23 11:39:46

标签: php mysql zend-framework

我使用以下方法将站点登录值存储在临时会话中:

$mysession = new Zend_Session_Namespace('mysession');

&安培;当我试图获取超过10万条记录的数据时,它会自动清除所有会话&重定向到登录页面

我尝试了不同的解决方案,以提高执行限制

ini_set('max_execution_time', 300);
set_time_limit(0);
ini_set('memory_limit', '8000M');
ini_set('mysql.connect_timeout', 14400);
ini_set('default_socket_timeout', 14400);

我正在使用mysql查询来获取数据。

所以任何建议

2 个答案:

答案 0 :(得分:3)

如果获取数据的时间长度那么,会话在两者之间到期,请考虑重新构建应用程序,而不是将关键限制设置为无限/无限。

想象一下,您的会话将不会过期,接下来会发生什么?您是否要将大量100,000条记录发送给客户端并崩溃?

其次,如果将使用5分钟和8Gig并且您有10个客户端,则您的机器需要80 Gig min。在内存处理?在五分钟内有十个客户启动这个php线程的可能性有多大?

而且,如果您正确设置数据库,SELECT - 100,000条记录通常只需几秒钟?

答案 1 :(得分:0)

尝试设置到期时间:

$mysession = new Zend_Session_Namespace('mysession');
$namespace->setExpirationSeconds(999);

//或

$namespace = new Zend_Session_Namespace('Zend_Auth');
$namespace->setExpirationSeconds(999);