2017-03-24 3 views
0

おはようございます!ZF2セッションとリダイレクトはローカルサーバーでのみ動作します

ローカルサーバーでZF2のシステムを開発しましたが、Webサーバーに移行するときに奇妙なことに気付きました。 3番目のサーバーでもテストしたところ、謎が続いています。エラーログには何も表示されません。セッションは機能せず、データは単に永続化されません。私は、リダイレクトが機能しないことにも気付きました。私はセッションのためのコードはApacheとPHP 7.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' 
    )); 
} 
+0

エラー報告が無効になっていると思います。リダイレクトが機能しないため、何らかのエラーが発生している可能性があるため、何か問題があるかどうかを確認してください。 – SzymonM

+0

残念ながら、セッションで永続化されていないデータに起因するエラーは表示されますが、このデータが保持されない理由についてはエラーが表示されます。 –

+0

私はこの問題を解決しました。奇妙なことに、エラーを引き起こしていた特定のファイル(その順序で)のタグが?><?phpになっていませんでしたか? –

答えて

1

私はリダイレクトプラグインを呼び出している間、あなたは、リターンなステートメントを使用するべきだと思います。

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

役立つはずです。

関連する問題