0

セッションを使用する PHP5 スクリプトをセットアップしました。セッションの開始はうまくいき、Cookie も作成されます (予想どおり)。

ただし、ブラウザー (Mac OSX Mountain Lion 上の Firefox 19.0.2) を閉じてブラウザーを開いた後、セッション ID は同じままです。数日後でも。ただし、これは session.cookie_lifetime が 0 に設定されている間

PHP では、これを使用してセッションを開始します。

//set cookie params: lifetime, path, domain, https, http-only
session_set_cookie_params(0, "/", null, false, true);

session_name('MySession');

//start session
session_start();

これが私のPHP.iniです

session.use_cookies = 1
session.use_only_cookies = 1
session.cookie_httponly = 1
session.cookie_lifetime = 0
session.cookie_path = /
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.hash_function = 1
session.hash_bits_per_character = 6
session.save_path = /var/lib/php5
session.name = PHPSESSID

セッション ファイルは /var/lib/php5 で削除されます。session_destroy() の後、ファイルは削除されます。

ただし、スクリプトを再度使用すると (セッションを開始すると)、古いセッション ID が取得されます。先週の金曜日にコンピューターからログアウトしましたが、今は戻ってきましたが、まだこの古いセッション ID を取得しています。ブラウザを閉じた後に新しいセッション ID を取得したい (コマンド Q)

ブラウザーを閉じたことがないかのように Cookie を保存する、Firefox の厄介な「機能」について読みました。

Firefox セッション Cookie

たぶんこれだけが理由だと思います。私はこれを望まないので、回避策を見つける必要があります。

これについて教えてもらえますか?

4

1 に答える 1

0

関数でCookieの有効期間を設定する必要があります。そうしないと、そこに残ります。そこで有効期限を指定する必要があります。寄稿されたいくつかの例を次に示しますhttp://php.net/manual/en/function.session-set-cookie-params.php

于 2013-03-25T09:46:14.420 に答える