1

現在、現在のセッションデータ(つまり、ログイン、現在の状態など)に$_SESSIONを使用しています。そして、スクリプトは何年もの間完全に正常に機能しましたが、古いPHP4サーバーからPHP5サーバーに変更しました。一定時間後(約10分ですが、一貫性がないようです)、$ _ SESSIONが消去されます!(:O!)。しかし、PHPSESSIDがまだCookieに存在しているように見えるため、Cookieの有効期限は切れていないようです...

私のサーバーの現在の設定は次のとおりです:(phpinfo)

http://jsfiddle.net/6DjcC/1/

これを引き起こしている可能性がありますか?私が完全に見落とした小さな何かが主な原因であると確信しています。

私のセッション変数:

Directive   Local Value Master Value
session.auto_start  Off Off
session.bug_compat_42   On  On
session.bug_compat_warn On  On
session.cache_expire    15400   15400
session.cache_limiter   nocache nocache
session.cookie_domain   no value    no value
session.cookie_httponly Off Off
session.cookie_lifetime 0   0
session.cookie_path /   /
session.cookie_secure   Off Off
session.entropy_file    /dev/urandom    /dev/urandom
session.entropy_length  0   0
session.gc_divisor  100 100
session.gc_maxlifetime  154000  154000
session.gc_probability  0   0
session.hash_bits_per_character 5   5
session.hash_function   0   0
session.name    PHPSESSID   PHPSESSID
session.referer_check   no value    no value
session.save_handler    files   files
session.save_path   /var/lib/php    /var/lib/php
session.serialize_handler   php php
session.use_cookies On  On
session.use_only_cookies    On  On
session.use_trans_sid   0   0

私は次の「非標準の拡張機能」を使用しています。

-X-Debug

-スホシン

-eAccelerator

4

2 に答える 2

1

私の賭けは、他のアプリケーションがあなたのセッションを一掃していることです. それらは同じセッション save_path を共有しているようです。

session_save_path()を使用して save_path を変更します。

于 2012-04-18T07:17:38.207 に答える
0

共有ホスティングを利用していますか? はいの場合は、session.save_path を変更してみてください

于 2012-04-18T07:15:52.310 に答える