3

Slim PHP フレームワークのバージョン 1.5.0 を使用していますが、セッションに問題があります。過去に (Slim を使用して) 問題はなかったので、Slim で何かが変わったのか、それとも自分のセットアップに何か問題があったのだと思います。これは、私の index.php ページのルートの基本的なスニペットです。

$app->get('/test', function() use($app) {
    $_SESSION['test'] = 'blah';
    var_dump($_SESSION);
});

$app->get('/test2', function() use ($app) {
    var_dump($_SESSION);
});

「/test」ルートの出力:

array(1) { ["test"]=> string(4) "blah" }

「/test2」ルートの出力:

array(0) { }

私のセッションはどうなっていますか。私は何か間違ったことをしていますか?PHP のネイティブ セッション以外のものを使用する必要がありますか? 次のプロパティでSlimを初期化しようとしました:

$app = new Slim(array(
    'session.handler' => null
));

どちらのオプションも無駄です。

4

1 に答える 1

9

Slimは、セッションデータを永続化するために暗号化されたHTTPCookieに依存しています。Cookieがない場合は、null上記のようにセッションハンドラーを設定しない限り、セッションはありません。

バージョン1.6.0(現在は開発ブランチにあります)は、セッションについて何も想定していません。代わりに、バージョン1.6.0では、独自のセッションを構成して開始する必要があります(PHPのネイティブセッション処理を使用している場合)。バージョン1.6.0はまた、レガシーセッション処理をミドルウェアに抽象化し、暗号化されたCookieを引き続き使用して、必要に応じてセッションデータを永続化できるようにします。

さらに質問がある場合は、http://help.slimframework.com/の公式SlimFrameworkサポートフォーラムに投稿することをお勧めします

最高、ジョシュ

于 2012-01-21T16:01:03.717 に答える