• ベストアンサー

セッションのタイムアウト時間変更

PHP4.4.1+ホスティング セッションのタイムアウト時間を、サーバ設定の変更なしで、 変更することは可能でしょうか? 変更する関数とかって無いでしょうか? ホスティングなので、サーバ設定の変更ができなくて。 ちなみに、今は初期値の1440秒になっています。 よろしくお願いします。

  • PHP
  • 回答数2
  • ありがとう数1

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

  • ベストアンサー
  • 1E-9
  • ベストアンサー率51% (22/43)
回答No.1

うろ覚えで申し訳ないですが、PHPプログラム上で session_start();をする前にsession_cache_expire(分数)で設定すれば 良かったと思うのですが。 すみません、未確認です。

参考URL:
http://php.s3.to/man/function.session-cache-expire.html

その他の回答 (1)

  • tecinfo
  • ベストアンサー率52% (32/61)
回答No.2

参考URLのsession.gc_maxlifetimeの項目に対応方法が書いてありました。 なお、ini_set関数(http://jp.php.net/manual/ja/function.ini-set.php)で、サーバの設定を一時的に変更することが可能です。 (1) ini_set関数で、session.gc_maxlifetimeの値を変更してセッションタイムアウトになるまでの時間を変更します。 >注意: 異なる値を session.gc_maxlifetime に指定している 別々のスクリプトがセッションデータの保存場所を共有している場合、 一番小さい設定値に達した時点でデータが消去されます。 (2) 上記、対策のために、同じくini_set関数で session.save_pathの値を変更します。(session.save_pathの設定先のパーミッションに気をつけてください。) 上手くいくか分かりませんが、参考になればと思います。

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

お礼

お二人ともありがとうございました。

関連するQ&A

  • セッションタイムアウトの設定時間通りにならない

    C#によるWebアプリケーションを開発しています。 セッションタイムアウトの設定を240分としていますが、 240分前にタイムアウトになってしまいます。 設定時間通りにタイムアウトにならない事象が発生しており、 原因を究明しています。 【状況】 Web.configとIISにて、セッションタイムアウトの時間を 設定しております。 (1)Web.configの設定 Web.config内にて、 <sessionState timeout = "240" /> のタグを設けて、セッションタイムアウトの時間を240分としています。 (2)IISの設定 IISにて、アプリケーションの構成の【オプション】タブにて、 「セッションのタイムアウト」を240分としています。 【環境】 OS:Windows Server 2003 Webサーバ:IIS6.0 DBサーバ:SQL Server 2005、 セッションタイムアウトが指定時間に行われない原因について、 ご教授の程お願い致します。

  • Apacheでセッションタイムアウトの設定方法

    ApacheでPHPで作ったシステムを動かしています。PHPの画面間のデータの受け渡しはセッションを使って行なっているのですが、 そのセッションが早めにタイムアウトとなってしまうので、 時間を長めに設定したいと思っています。 httpd.confのTimeOutを変更してみたのですが、 これはセッションのタイムアウトとは関係ないようで、 変更しても、動きが変わりませんでした。 httpd.conf内に他にそれらしい項目がないのですが、 セッションのタイムアウトを変更した場合、どこにあるどのファイルを変更すればよいのでしょうか? よろしくお願いします。

  • phpのセションのタイムアウトについて

    os:ターボ8 PHP:4.2.3 phpのセションのタイムアウトについてご教授願えないでしょうか Q1.タイムアウトの初期値は変更できますか? php.iniの session.gc_maxlifetime = 1440 を session.gc_maxlifetime = 60 にしてhttpdを再起動して試してみたのですが1分以上放置してもセッション情報は残ったままでした。 これってどうなのでしょうか? Q2.プログラム内でタイムアウトの設定を確認するシステム変数はありますか? ちゃんとタイムアウトの時間が変わっているか確認したいのですが。 Q3.タイムアウトの時間を無限大にしてタイムアウトしない設定にする方法はありますか? 以上、個別でも結構ですのでお願いします。

    • 締切済み
    • PHP
  • tomcatのセッションタイムアウト

    tomcatで構築されたWebアプリを検証しています。 Webアプリにログインし、何も操作せずにセッションタイムアウト時間の確認をしているのですが、 tomcatのセッションタイムアウトの設定値通りにセッションが切れません。 web.xmlの設定値は5分を設定しています。 大抵は設定時間+1分程で切れるのですが、 設定時間+3分ほど待ってみてもセッションが切れないケースがあり、原因がわからない状況です。 利用しているtomcatのバージョンは4.1.31です。 何かtomcatの仕様上でセッションタイムアウトの時間が変わるようなことがあるのでしょうか? 当方初心者のため、お手柔らかにお願いいたします。

  • 共通関数でセッションのタイムアウトを指定する方法

    phpを始めたばかりなので 根本的な考え方から間違ってるかもしれませんが、 その時はご指摘下さい。 やりたい事は、セッションのタイムアウトの指定です。 ログインしてから1時間後にタイムアウトを促すように 作りたいのですが、なかなか上手くいきません。 まず、ログイン画面のphpファイルが存在します。 ここでログインするとトップページの phpファイルへ飛びます。 トップページでは、 includeで前頁に共通する関数が詰まったphpファイルを取り込み、 それぞれのページで様々な処理を行います。 このincludeするphpファイルにセッションの タイムアウトを行う命令を入れようと思っています。 そうすれば、前頁でこのファイルをincludeするだけで 1時間後にセッションが切れる、という仕組みが できると考えているのですが、できないのであれば、 ご指摘下さい。 ちなみにその共通phpファイルに入れてみた命令は以下です。 session_cache_expire(分数) 又は… session_cache_limiter('private'); session_cache_expire (5); あまりコードの意味はわかっていませんが、 この方法で何故できないのでしょうか? 一応、このやり方でできなかったので 各ページ単体にも同じコードを入れてテストしましたが、 セッションが切れる事はありませんでした。 何かアドバイスをお願いします。

    • 締切済み
    • PHP
  • セッションタイムアウトエラー

    いつも参考にしております。 セッションタイムアウトのエラー(???)で困ってます。 ご存知の方がいらっしゃいましたら、ご教授お願いします。 環境: OS :Windows 2009 Sever ActivePerl : V5.8.9 Webサーバ :IISv7.0 CGI::Session.pm:v4.41 DB :Oracle 10g 詳細は下記のようです。 1.ログイン成功したら、セッションを作成します。 CGI::Session->name( "SID" ); my $session = new CGI::Session( "driver:File", undef, {Directory => 'C:/Inetpub/wwwroot/xxx/tmp/session'} ); $session->expire( '+10h' ); ...省略 2.上記で作成されたセッションIDを画面に保持し、画面遷移する際に セッションIDの存在チェックを行う my $session = CGI::Session -> new( undef, $sid, {Directory => 'C:/Inetpub/wwwroot/xxx/tmp/session'} ); if($sid eq $session -> id) { // セッションID存在する // 次の画面遷移する // セッションタイムアウト再設定 $session->expire( '+10h' ); } else { // セッションID存在しない $session->close; $session->delete; // 作成されたセッションファイルを削除 // エラー画面表示 } 現象: セッションタイムアウトの設定時間に経ってないにもかかわらず たまたまセッションタイムエラーが発生します。 P.S エラーの原因が特定できず、困ってます。 以上、宜しくお願いいたします

    • 締切済み
    • CGI
  • セッションタイムアウトの設定調査

    タイトルの件に関して相談させてください。 現在、業務で入力フォームを構築しているのですが、入力完了まで5画面あり、その間、セッションを保持して値を受け渡しています。(言語、環境は後述) セッションタイムアウトの設定は、現在30分です。 しかし、入力する際に離席する方がいらっしゃるらしく、30分のタイムアウトでは短いので、2時間にしてほしいとの要望があがりました。 この際、2時間にする影響を調べたいのですが、どのような調査方法、確認する値を考えればよいでしょうか。 環境は以下の通りです。   サーバ:IBM AIX   アプリケーションサーバ:Websphare   言語:Java サーブレット (どうやら、Websphareの設定値を変えれば  2時間になりそうです) ご存知の方がいらっしゃいましたが、ご教授を いただければと存じます。 以上、何卒よろしくお願いいたします。

  • リモート接続に対するセッション・タイムアウトについて

    リモート端末から telnet でサーバにアクセスすることがあるのですが、ダイヤルアップ回線で品質が極めて悪く、数秒間不通になったりすることもあるため、その間にセッションが切れてしまい、何度も再接続を行わなければならず、処理効率が悪くて困っています。 何らかのカーネルパラメータの変更等により、タイムアウトまでの時間を長くするなどと行ったことができないでしょうか?

  • タイムアウトしてしまいます

    お世話になります。 表記の件、WndowsNT4.0上でIIS4.0とPHP3を使用してwebアプリケーション(主にデータの集計をするアプリ)を設置しております。 データ量がかなり増えたせいで、クライアントがタイムアウトしてしまい、空白のページが表示されるようになってしまいました。 はじめはPHP自体のタイムアウト設定が原因なのかと、max_execution_timeの値を増やしたのですが、効果はありません。(タイムアウトするまでの時間(180秒)も変化無し) おそらくIISのほうの設定だと思うのですが、あまり詳しくないため、かなり困っております。 どなたか、お分かりになるかたはいらっしゃいませんでしょうか?

  • ?セッションタイムアウトしました?と出て予約できません。。

    ?セッションタイムアウトしました?と出て予約できません。。 ローソンチケット予約をしようと思ってそのサイトへ行って先着販売を押したら ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ セッションタイムアウトしました。 セキュリティ保護のため一定時間操作がない場合操作が続行出来なくなります。 お手数ですが、再度トップページより操作を行ってください ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ と出て予約できないのですが、どういう事でしょうか。。 何回やってもセッションタイムアウトしましたと出ます・・ あと↓な事がかいてあったんですけど関係あるんでしょうか・・? 【サイト利用上のご注意】 SSL暗号強度128bit以上のブラウザでお使いください。 詳細はブラウザのヘルプをご参照ください。 ブラウザをすべて閉じて再度試してみてもダメでした・・;; もしかしたらチケットとれないかもしれないと思うとすごく不安です。。 回答お待ちしています

専門家に質問してみよう