[PHP-users 23965] Re: ログインしている人数の数え方

Hideki SUNADA hideki @ pac-01.com
2004年 12月 22日 (水) 19:47:37 JST


皆様のご意見、大変参考になります。
ありがとうございます。

> とのことですけど、$_SESSIONを保持している個数を調べればいいん
> ですよね?ログアウト処理と言う指摘もありましたが、session.gc_maxlifetime
> で代用してしまってもよさそうですね。そうすると、session.save_path
> に保存されているファイルの個数を調べればいいんですから、scandir
> で配列に入れてやってカウントすればいいんじゃないかと思いますが、
> それは嫌ですか?

全然いやではありません。
私も実はクッキーの数を数えられないかと考えたのですが、
ログインすると確かにクッキーが増えていくのですが、ログアウトして
もクッキー数がすぐには減らず、10分くらいたつとなくなるようです
(session.gc_maxlifetimeは60秒に設定してテストしました)。

session.gc_maxlifetimeは、セッションが閉じられたり(ログアウトな
ど)、クッキーのやり取りがなくなった後の時間を設定するわけですか?

> スタンダードな方法では
> ログインした時にフラグを立てる。
> ログオフ・タイムアウトした時にフラグを降ろす。
> フラグが立っている数を必要時にSELECT COUNTするだけでは駄目ですか?

フラグの立て方がよく分からないのですが、これはmysqlに記録すれば
いいのでしょうか? だとすると、長迫さんが指摘してくださった方法
でうまくいきそうですね。

> 一つは、cronを使用して、たとえば1分ごとに、タイムアウトしたユーザーを判別して、テーブルから削除します。
> もしくは、上記の2や3のタイミングで、タイムアウトしたユーザーを判別して、テーブルから削除します。

色々な部分で初心者なのでテストするのに時間がかかりますが
もう少し色々と試してみます。



PHP-users メーリングリストの案内