• ベストアンサー

phpのクッキーセッションの寿命ですが

ブラウザを閉じると終わってしまうのですが 例えば2時間とかに設定できないのでしょうか? 仕様上セッションはブラウザを閉じると終わる運命なのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • SHlVA
  • ベストアンサー率48% (20/41)
回答No.1

php.ini の中の セッションの項目にある session.cookie_lifetime を変更することにより思うような動作をすると思います。 デフォルトは 0 (ブラウザを閉じるまで)となっているからだと思います。 ここに秒数を入れるといいみたいですね。

参考URL:
http://www.php.net/manual/ja/ref.session.php
guuman
質問者

お礼

ありがとうございます 参考にしたいと思います

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • セッション(session)ってクッキー(cookie)とどう違うの?

    セッションはクッキーが有効になってないと使えないと本で覚えました。そしてセッションの仕様として「そのウィンドウでのみ有効。閉じたら破棄される」ともありました。しかしこれではexpires(有効期限)を設定しないクッキーと違いがないように思うのですが・・・。セッションとクッキーの相違点はどのようなものなのでしょうか?またそれをどのように生かす方法があるのでしょうか?

    • 締切済み
    • PHP
  • セッションクッキーの有効期限について

    VC2010でWebアプリケーションを作成しております。 セッションクッキーを使用しているのですが、Webブラウザを閉じた時には、きちんと消えてくれますが、一定時間(20分)が経過したときは、消えてくれません。 数時間経っても、消えませんでした。 ちなみに、セッションクッキーではなく、セッション情報は、一定時間(20分)が経過した後、消えています。 下記、URLでは、一定時間が経過したときに消去されるようなことが書いてあります。 セッションCookie http://www.asp-user.jp/help/session_cookie/ timeoutに関しては、web.configで<sessionState timeout="20" />のように設定しております。 一定時間が経過したとき(timeout)の設定方法は、これ以外に何が必要でしょうか? WEBサーバ、もしくは、セッションステートサーバ側の設定(IIS)が必要でしょうか? IISのバージョンは、7.5です。 サーバの構成は、下記のようになっております。 ・WEBサーバ ・DBサーバ ・セッションステートサーバ(DBサーバと同じサーバ)

  • セッションの寿命

    ブラウザを閉じたらセッションが継続されないのはなぜでしょうか?

    • 締切済み
    • PHP
  • クッキーとセッション

    クッキーとセッションの違いは何ですか? クッキーは「WebサーバーがWebブラウザに渡すメモのようなもの」でセッションは「クライアントに関連する情報(データ)をWebサーバーに預けておくことが出来るもの」で合っていますか?

  • PHPでセッションが切れない

    いつもお世話になります。 現在、練習用として管理画面を作成しています。 session.gc_maxlifetime=1440(24分)で設定しているのですが、一時間以上放置してもセッションが切れません。。 session.gc_maxlifetime以外に何か設定が必要なのでしょうか? PHPのバージョンは5.3.3になります。

    • 締切済み
    • PHP
  • クッキーを使わないセッションPHP

    を作ったのですがまずい点があったら教えて下さい 入力を一行ずつ並べるものです <?php session_name('asdsddzddzfssd'); session_start(); session_register('lines'); $self=$_SERVER['PHP_SELF'].'?'.htmlspecialchars(SID); $line=isset($_POST['line'])?htmlspecialchars($_POST['line']):''; if($line!='')$_SESSION['lines'] .= $line.'<br/>'; echo' <form action="'.$self.'" method="post"> <p>1行: <input name="line"/></p> </form> 過去の全行:<br/>'.$_SESSION['lines']; ?>

    • ベストアンサー
    • PHP
  • セッションのクッキー有効期間を個別に設定

    セッションのクッキーの有効期間は、 [php.ini] session.cookie_lifetime=0 と設定すると、全てのユーザに対して、ブラウザが終了するまでとなりますが、これを個別のセッションごとに(PHPのプログラム側で)管理することは可能でしょうか。 Aさんの場合は、ブラウザを終了しても3日間セッションを有効とし、Bさんの場合は、php.iniの設定どおりブラウザが終了するとセッションも終了する。というようなことをやりたいと思っています。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • FireFox3のセッション共有について

    FireFoxはブラウザをいくら立ち上げてもセッションは共有されてしまうと思うのですが、セッションを立ち上げたブラウザごとに別々に持たせることは可能なのでしょうか? それとも仕様で無理なのでしょうか?

  • phpのセッションについて

    XAMPPのローカル環境でphpのプログラムを組んだのですが、いざ実際のサーバーにアップロード してもうまく動きませんん。 調べた結果セッションがちゃんと動いていないという結論に達しました。 単純なセッションなのですが、ローカル環境ですとちゃんと動くのが、サーバーにアップすると $_SESSION['sa']が空っぽの状態となります。 サーバーにアップロードしたindex.phpの中にecho $_SESSION['sa'];と書き込むと 「あいうえお」とちゃんと表示されますのでセッションには格納されているようなのですが 値をきちんとセッションで持ち越せないようです・・。 ローカルでは下記のファイルはちゃんと持ち越せていて、実際のサーバーではダメな理由がまったくわかりません。 何か特別な設定が必要なのでしょうか?何時間もググっていますがそういった設定が必要と いう記述は見当たらないのですが・・。 サーバーはさくらサーバーでバージョンはPHP 5.4.22となっています。 ------------------------------------------------------------ ファイル名 index.php <?php session_start(); $data="あいうえお" $_SESSION['sa']=$data; ?> <a href="aaa.php">aaa.phpへのリンク</a> ------------------------------------------------ ファイル名aaa.php ------------------------------------------------ <?php session_start(); $sss = $_SESSION['sa']; echo $sss ; ?> ------------------------------------------------

    • ベストアンサー
    • PHP
  • 困ってます。phpセッションについて

    phpセッションについて教えてください。 既にwebサーバで動いているシステムがあります。 改修する必要があるため、パソコンの仮想サーバ(XAMPP)で動かした所、セッションに関わる部分がうまくいきません。 ●保存してる箇所 session_start(); session_regenerate_id( TRUE ); $_SESSION['xxx'] = $xxx; ●呼び出している箇所 session_start(); session_regenerate_id( TRUE ); if ( !isset( $_SESSION['xxx']) ) { //←ココでひっかかります //終了するための処理 exit; } $xxx = $_SESSION['xxx']; ************** 設定に関する部分です。 ●「.htaccess」の設定は以下のようにしています。 php_flag session.use_cookies On php_value session.cookie_lifetime 0 php_flag session.use_trans_sid Off php_value session.gc_maxlifetime 3600 php_value session.save_path 'C:temp' 'C:temp'に保存されたデータはありますので、書き出しはうまくいってるようです。 呼び出しがうまくいってません。 ソースの session_start(); session_regenerate_id( TRUE ); の直後に var_dump($_SESSION['xxx']); で値を参照するとNULLです。 ●「php.ini」のセッションの箇所は以下のようになっています。 session.save_handler = files よろしくお願いします。

    • ベストアンサー
    • PHP