Php ZF2会话和重定向仅在本地服务器中工作

Php ZF2会话和重定向仅在本地服务器中工作,php,session,redirect,zend-framework2,Php,Session,Redirect,Zend Framework2,早上好 我在本地服务器上用ZF2开发了一个系统,但是当迁移到web服务器时,我注意到一些奇怪的事情。我还在第三台服务器上进行了测试,谜团还在继续。错误日志中没有显示任何内容。会话不工作,数据根本就没有持久化。我还注意到重定向不起作用。我正在使用Apache和PHP7.1 会议代码: $this->session = new Container('search'); if( !empty($this->params()->fromPost('search')) ){ $t

早上好

我在本地服务器上用ZF2开发了一个系统,但是当迁移到web服务器时,我注意到一些奇怪的事情。我还在第三台服务器上进行了测试,谜团还在继续。错误日志中没有显示任何内容。会话不工作,数据根本就没有持久化。我还注意到重定向不起作用。我正在使用Apache和PHP7.1

会议代码:

$this->session = new Container('search');
if( !empty($this->params()->fromPost('search')) ){
    $this->session->offsetSet('search', $this->params()->fromPost('search') );
}
return $this->getResponse()->setStatusCode(200)->setContent(Json::encode(
    $this->session->offsetGet('search')
));
重定向代码:

if( !$logged ){
    $this->redirect()->toRoute("login", array(
        'controller' => 'login',
        'action' => 'index'
    ));
}

我认为,在调用重定向插件时,应该使用return语句

return $this->redirect()->toRoute("login", array(
        'controller' => 'login',
        'action' => 'index'
    ));

这应该会有帮助。

我想您已经禁用了错误报告功能。打开它,并告诉如果由于重定向不起作用而出现问题,则一定存在某种错误。不幸的是,错误报告已启用,因为会显示由于会话中未持久化的数据而导致的错误,但不会显示有关此数据未持久化原因的错误。我解决了该问题。标签在哪里?>