1

Chrome と Firefox の両方で、これは約 1 時間続き、その後セッション Cookie と、javascript によって設定されたその他の Cookie が消えます。ブラウザも閉じませんでした。

session_set_cookie_params(946080000); // 30 years
session_start();
$_SESSION['login']=true;

行った。セッション Cookie がなくなりました。Chrome と Firefox の両方で消えるため、ブラウザの問題ではないと思います。私はIEでテストしませんでした。

これは正常な動作ですか...どこかで設定が解除されていないことは確かです。

申し訳ありませんが、あまり情報を提供していないことは承知していますが、提供できる情報があまりないためです。それは機能するはずですが、機能しません。

4

1 に答える 1

0

可能であれば、適用したいクッキーの期間を反映するようにphp.iniを変更してください。php.netマニュアルから読む:

「php.ini ファイルで定義された Cookie パラメータを設定します。この関数の効果は、スクリプトが実行されている間だけ持続します。したがって、すべてのリクエストに対して、session_start() が呼び出される前に、session_set_cookie_params() を呼び出す必要があります。

この関数は、ini_get() で取得できる、対応する PHP ini 構成キーのランタイム ini 値を更新します。」

これは、session_start() を実行する前に、すべての php ファイルで毎回呼び出す必要があることを意味します。解決策があるかもしれないブログ投稿: http://blog.centresource.com/2006/05/23/php-session-lifetime-an-adventure/

PHP ini の値を変更するには、次の行を使用します。

php_value session.gc_maxlifetime "946080000"

とにかく、クッキーを使用する方が良いです。セッションは長期間使用されず、代わりにクッキーを使用します。

于 2012-05-22T11:33:32.367 に答える