【CentOS 4.6 PHP4.3.9 でSESSION】


sessionファイルは、
デフォルトで、
/var/lib/php/session
で保存されると思います。

これを
/tmp
にしている人が意外と多いと聞いたのですが、
理由としては、/tmpは古いファイルが自動的に(cron)で削除されるからだとおもいます。


ということは、
/var/lib/php/session
って、勝手に削除されなくて、どんどんたまっていくんでしょうか?
(maxlifetime以上の時間になると、削除されるのかと思っていました。)

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/02/21 18:03:40
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:AZUY No.1

回答回数343ベストアンサー獲得回数12

ポイント60pt

http://ml.php.gr.jp/pipermail/php-users/2001-August/001233.html

session.gc_maxlifetime以上残ることもありますが、

どこかのタイミングで消えます。

id:caster777

おお!ありがとうございます。

-----

session_gc_probability で、実行する確率を指定できるようになっ

ています。デフォルトは 1% で、つまり 100 回のリクエストにつき 1 回の割

合で GC が実行される設定になっています。古いセッション情報が残っていて

もあまり不利益はありませんが、もし気になるならサーバが受けるリクエスト

数に合わせて、GC の実行確率を高くしてみると良いでしょう。

2008/02/21 11:00:33
  • id:tezcello
    /tmp 配下のファイルを自動的に削除する仕組みがデフォルトであるとは思えないのですが...
    (マシンの起動時には削除されるかも知れませんが)
  • id:caster777
    ええと(;´Д`)

    /etc/cron.daily/tmpwatch
    をcatしてみてください。

    ちなみに、マシンの起動時には、削除されないですよ。
  • id:tezcello
    確かに、うちのマシンにも tmpwatch を使って削除しているものもあります。
    が、仕事で使ってきた UNIX や、失念しましたがどこかのディストリは、マシン起動時に /tmp のファイルを削除してました。
    要するに、必ずしも全てのマシンでそうであるという訳ではないってだけです。
  • id:caster777
    う~ん。
    CentOS 4.6って書きましたけどね(;・∀・)
  • id:tezcello
    理解不足&説明不足でごめんなさい。

    質問者さんの環境=CentOS4.6 であるだけで、「意外と多いsessionファイル保存先を/tmp にしている人」が特定の環境であるとは考えていませんでした。
    特定環境下ではないからこそ、「○○するのがデフォと言い切れないなぁ」と考えコメントしました。

    質問意図を理解していない発言、申し訳ありませんでした。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません