1

次の行を使用して、バンドル内のベース インデックス アクションにリダイレクトしています。

return Redirect::to_action('mybundle::base@index')->with("prevCommands", $prevCommands)->with("result", $result)->with_input();

リダイレクトは機能しますが、セッションから情報を取得すると、null 値がランダムに取得されます。次のコードがインデックス アクションにあります。

$view['prevCommands']  = (array)Session::get('prevCommands');
$view['result']        = (string)Session::get('result');

上記の組み合わせはランダムにしか機能しないようで、サーバーの応答に時間がかかるほどうまく機能する傾向があります。リダイレクトする前に、変数が常に正しく入力されていることを確認しました。

それが発生すると、両方の値が一度に null として返されます。どちらか一方だけが設定されることはありません。

4

2 に答える 2

1

Laravel 3 のセッション用の Cookie ドライバーが実際には PHP の組み込み Cookie セッション メカニズムを使用しておらず、実際にはペイロード全体を Cookie に保存していることに気付いてから、それが理にかなっていることがわかりました。

Cookie にはサイズの許容範囲が限られているため、保存されたデータの合計が 4K を超えると、このメカニズムが壊れます。セッションで実際の配列を保存するためのすべての「パディング」文字に注意してください。

これにより、アプリケーションの設計に問題があることにも気付きました。このような大量のデータをセッションにフラッシュするべきではありません。

于 2013-04-23T14:40:54.207 に答える