• ベストアンサー

セッションファイルの場所

php.ini内の記述を見ると、windowsでセッションを使用するためには、session.save_pathパスを設定しなければならない、となっているのですが、これを設定しないまま、現状、セッションが使用できています。 できれば、現状のまま使用していきたいのですが、どこか知らないところでファイルが生成されているのも気持ち悪く、セッションファイルの保存先を探したのですが、見当たりませんでした。C:\tmp等のフォルダもありません。 セッションファイルはどこに保存されているのでしょうか。 環境はwindows 2000+php5です。 よろしくお願いします。

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

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

  • ベストアンサー
  • wish46
  • ベストアンサー率78% (29/37)
回答No.1

phpinfo(); で session.save_path の部分にパスが表示されています。

pokapoka1980
質問者

お礼

ありがとうございました。

その他の回答 (1)

  • widoww
  • ベストアンサー率20% (33/159)
回答No.2

session.save_path string session.save_path は、保存ハンドラに渡される 引数を定義します。デフォルトのファイルハンドラを選択した場合、 ファイルが作成される場所のパスになります。デフォルトは、 /tmp です。 session.save_pathのパスの深さが2より大きい場 合、ガーベッジコレクションは行われません。 session_save_path()も参照してください。 オプションの引数としてN(数値)を指定できます。 これはセッションファイルを分散して保存する際に ディレクトリ階層レベルを決定します。 例えば、'5;/tmp'とすると /tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If という位置にセッションファイルを生成します。 Nを使用するには、これらすべてのディレクトリが 事前に作成されている必要があります。 そのためのシェルスクリプトがext/sessionに mod_files.shというファイル名であります。 また、0以上のNが指定されている場合には自動ガーベッジコレクション が機能しないことに注意してください。詳細は php.ini を見てください。 また、Nを指定する場合は、 session.save_pathを"quotes"で囲う必要があります。 なぜならセパレータ(;) は php.ini ではコメントとしても利用されているからです。 参考URLはここに質問する前に読んできくるべきサイトだと思います。

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

お礼

返信ありがとうございました。 ただ、サーバがWindowsなので。。。それとご指摘の文章は原文で読んでいます。

関連するQ&A

  • セッションファイルが見つからない

    XAMPP1.7.2をWindowsXPにインストールして、PHPの勉強をしています。 セッション機能を使っていますが、php.iniの設定ではsession.save_path = "C:\xampp\tmp"なので、tmpフォルダにセッションファイルができはずですが、どこにも見当たりません。セッション機能は普通に使えます。 セッションファイルはどこにいるんでしょうか、ご教授願います。

    • 締切済み
    • PHP
  • セッションが使えたり使えなかったりする

    レンタルサーバを使用しているのですが、セッションが使えたり使えなかったりします。 使えなくなるとPHPSESSIDはNULLになります。 これは何が原因なのでしょうか? 共用のレンタルサーバなので、サーバのメモリが足らずに保存しきれていないのかなと推測してレンタルサーバに問い合わせたところ、以下のような返答が来ました。 /**********************************************/ SESSIONは初期の設定では、サーバーのシステム領域に保存されます。 しかし、定期的にクリアされますので、お客さま領域内に保存されるよう 変更していただきお試しいただけますでしょうか。 session.save_pathを変更する場合には、 設定を変更したいディレクトリ内にphp.iniファイルを 設置していただくことで該当ディレクトリのみ設定が有効になります。 設定が反映されているかはphpinfoにて確認が可能です。 なお、設定を有効にしたいディレクトリが複数ある場合には 各ディレクトリにてphp.iniファイルを設置してください。 また、php.iniの記述方法に関してはご案内していないため 参考書籍やWebサイト等にてご確認ください。 /**********************************************/ session.save_pathを変更すると何ができるんでしょう? この「セッションが使えない」という問題はクライアント側で解決できることなのでしょうか?

    • ベストアンサー
    • PHP
  • php.iniの設定

    質問させてください。 WindowsマシンにPHPをインストールしたのですが、 php.iniの中にセッションの保存場所を指定する session.save_pathがありますが、 これはデフォルトで/tmpになっています。 この設定を変えずにセッションがきちんと保存されるか 試してみたのですが、きちんと保存できました。 しかし、マシン上にtmpというディレクトリがなく、 どこに保存されているのか不明です。 この場合、セッションファイルはどこに保存されていまったのでしょうか?

    • ベストアンサー
    • PHP
  • セッションについての設定なのですが・・。

    すいません。今さくらのレンタルサーバーでphpをアップロードしたのですが、 セッションがまったく動きません。 XAMPPのローカル環境では動いていますのでプログラムには間違いは無いのですが、 私はphpプログラムを組むのも初めてなもので原因をググっていました。 するとあるウェブサイトにさくらのレンタルサーバーで同様の症状に陥ったとのブログが ありまして、さくらはsession.save_pathを明示的に指定しなければセッションが使えないとの 内容でした。 ( <?phpinfo()?>で設定状況を調べました所session.save_pathはno valueでした) 恐らく自分と同じ症状なのでパスを指定すれば解決すると思うのですが、 さくらのphp.iniはロリポップやエックスサーバーとは違いラジオボタンやチェックボックスでの php.ini設定は一切できず、何も記載されていないテキストボックスがあるだけです。 私は今までローカル環境でしかphpをさわった事がないためphp.iniの設定の仕方が全く わかりません。 どなたかsession.save_pathを指定する方法教えてもらえませんか? (下の例を見てもよくわかりません。何かファイルを作ってアップロードするのでしょうか??) サイトにあった解決方法 ---------------------------------------------------------------------------------- php.iniにてsession.save_pathを明示的に指定(例:/home/user/tmp) ← 以前はno valueだった 指定したディレクトリに書き込み権限を与える

    • ベストアンサー
    • PHP
  • セッションを利用するための設定

    PHP初心者です。設定で意味がわからなくて質問させてもらいます。 バージョンはphp5を使用しています。 本を見ながら勉強しているのですが、セッションを利用するための設定としてphp.iniの session.use_trans_sid=on session.save_path=任意のディレクトリ に変更するとあるのですが、この任意のディレクトリは自分で新たに作成するのでしょうか?また、どこに作成するべきなのでしょうか? それと、php.iniの中を検索するとsession.save_path=という行がいくつか出てきますが、どの行を直せばいいのでしょうか? 初歩すぎて、ネットで検索してもヒットしなくて、ご存知の方よろしくお願いします。

    • 締切済み
    • PHP
  • セッションの有効期限

    Linux7.2 + PHP4.2(DSO版)+ Apacheを使用しセッション管理を使用した認証機能を制作しています。 session.cache_expire = 180としているのに ログイン後20分くらいでセッションが切れる現象が生じています。 プログラム上では特別なことはしていません。 session_start(); session_cache_limiter('nocache'); を先頭に書いているだけです。 以下、php.iniのセッション関連の設定です。 どなた方この現象についてご存知でしたら教えて下さい。 宜しくお願いします。 session_auto session.save_handler = files session.save_path = /tmp session.use_cookies = 1 session.name = PHPSESSID session.auto_start = 0 session.cookie_lifetime = 0 session.cookie_path = / session.gc_probability = 1 session.gc_maxlifetime = 1440 session.referer_check = session.entropy_length = 0 session.entropy_file = ;session.entropy_length = 16 ;session.entropy_file = /dev/urandom session.cache_limiter = nocache session.cache_expire = 180 session.use_trans_sid = 0

    • 締切済み
    • PHP
  • session(PHP)が表示されない。

    sessionを理解するために簡単な例文を入力して sessionを呼び出そうとしました。 しかしできません。文法上は本のCDを丸写しなので 問題ないと思います。 設定(php.ini)で何か確認する場所があればお願いします。 Windows XP Apache 1.3.27 PHP 4.3.1 session.auto_start Off Off session.bug_compat_42 On On session.bug_compat_warn On On session.cache_expire 180 180 session.cache_limiter nocache nocache session.cookie_domain no value no value session.cookie_lifetime 0 0 session.cookie_path / / session.cookie_secure Off Off session.entropy_file no value no value session.entropy_length 0 0 session.gc_dividend 100 100 session.gc_maxlifetime 1440 1440 session.gc_probability 1 1 session.name PHPSESSID PHPSESSID session.referer_check no value no value session.save_handler 0 0 session.save_path /tmp /tmp session.serialize_handler php php session.use_cookies On On session.use_only_cookies Off Off session.use_trans_sid On On

    • ベストアンサー
    • 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
  • セッションの仕組み

    php初心者です セッションの仕組みを教えてください 質問1 セッションidとセッションクッキーは同じものですか? 質問2 セッションidやセッションクッキーはデフォルトでは、ブラウザを閉じた時に削除されますか? 質問3 レンタルサーバーのphp.iniを調べてみたところ 保存場所がsession.save_path no valueでした。この場合、訪問者のパソコンにクッキーが保存されてしまうのでしょうか?サーバーに保存する方法はありますか? 質問3 session_start();でセッションを開始したときセッションidが自動で付けられるのはわかりましたが、 セッションid(MD5で作られた数字)の使い道がわかりません 質問4 セッションidはどこに利用すればいいのでしょうか? session_start(); session_id(); //このセッションidの利用方法がわかりません $_SESSION['id'] = $_POST['id']; よろしくお願いします

    • ベストアンサー
    • PHP
  • セッション時間について

    プログラム初心者です コアサーバーとゆうレンタルサーバーを使っています。 phpの設置しているディレクトリに自前のphp.iniを置けば反映されるらしいです セッション切れの時間をのばす方法を教えてください(自前でphp.iniを作る方法を教えてください) サーバーのphpinfo確認したら session.cookie_lifetime 0 0 session.gc_maxlifetime 1440 1440 になっていました 自前のphp.iniにsession.gc_maxlifetime = 3600と一行だけ記述するだけでできますか? それとも、php.iniにxamppにあるような設定をワラワラ書かないといけませんか? php.iniのパーミッションは何にしたほうがいいでしょうか?見えるとまずいですよね? よろしくお願いします  

    • ベストアンサー
    • PHP

専門家に質問してみよう