Php IE8的Zend会话问题
我正在运行一个Zend Framework支持的网站,它似乎在会话方面存在严重问题。我有一个5步的过程,在这5步之间的会话中保存表单数据,然后在最后一步将其保存到数据库中 当我们构建站点时,有时会话就消失了,迫使我们重新启动。现在它似乎又能工作了,但最近我们发现了InternetExplorer8的一个问题。它在步骤2->3之间失败并忘记会话。它在IE6、IE7、FF、Chrome、Safari甚至我的移动网络浏览器(SE P1)中都能正常工作 我们将会话存储在数据库中,如果我停用会话数据库处理程序,它就会工作。在会话中使用数据库和不使用数据库有什么区别?如果我换回去,会不会弄丢东西 引导:Php IE8的Zend会话问题,php,zend-framework,session,Php,Zend Framework,Session,我正在运行一个Zend Framework支持的网站,它似乎在会话方面存在严重问题。我有一个5步的过程,在这5步之间的会话中保存表单数据,然后在最后一步将其保存到数据库中 当我们构建站点时,有时会话就消失了,迫使我们重新启动。现在它似乎又能工作了,但最近我们发现了InternetExplorer8的一个问题。它在步骤2->3之间失败并忘记会话。它在IE6、IE7、FF、Chrome、Safari甚至我的移动网络浏览器(SE P1)中都能正常工作 我们将会话存储在数据库中,如果我停用会话数据库处理
/* Start session */
$saveHandler = new Zend_Session_SaveHandler_DbTable(array(
'name' => 'sessions',
'primary' => 'id',
'modifiedColumn' => 'modified',
'dataColumn' => 'data',
'lifetimeColumn' => 'lifetime'
));
Zend_Session::rememberMe((int) $config->session->lifetime);
$saveHandler->setLifetime((int) $config->session->lifetime)
->setOverrideLifetime(true);
Zend_Session::setSaveHandler($saveHandler);
Zend_Session::start();
在我的步进控制器中
$session=new Zend_session_名称空间(“向导”)代码>
然后,我正在使用$session将数据保存在$session中的stdClass中。会话是如何存储的?这是在Zend_Form multistep中发生的,还是您自己的
我的猜测是,步骤之间的数据变得太大,无法存储在会话存储策略中 添加此标题以解决此问题:
header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"');
你能提供一些代码吗?Zend_Session integration、Session_set_save_handler()等。我用一些代码示例更新了我的问题,我自己用stdClass存储它。什么太大了,你能在一个会话中存储多少?我的会话包含大约1KB的数据。你能解释一下标题的作用吗?这解决了我的问题,但我非常感谢你的解释。