0

ローカルファイルシステムではなくMySQLメモリテーブルにセッションデータを保存したいという理由だけで、PHPアプリケーション用に独自のセッションハンドラーを作成することを検討してきました。

私がこれを行う主な理由は4つあります。

  1. MySQLサーバーはローカルであるため、メモリからの読み取りが高速になります。
  2. アクティブなユーザーを一覧表示できる
  3. 管理者がログインおよびログアウトしなくても、ユーザーセッションを簡単に読み取って変更できるようにします。
  4. セッションタイムアウト後、またはセッション内のユーザー「アイドル」変数の後にスクリプトを実行できること。

私はこれを行うための簡単な方法を見つけることができないようです。

memcachedを使用することもできますが、サーバーのメモリ内のセッションデータが2倍になります。

実行時にPHPを強制し、MySQLiリソースをセッションストレージとして使用する簡単な方法を知っている人はいますか?

4

1 に答える 1

1

実際、Mysqlは、最初にメモリを使用し、後で実際のデータベーステーブルに永続的に格納できるmemcacheインターフェイスを提供します。

データベースサーバーでテーブルを作成した後、php.iniを介して簡単に構成できます(ここを参照)。

; when using the "memcache" extension:
session.save_handler=memcache
; when using the "memcached" extension:
; session.save_handler=memcached

session.save_path="tcp://localhost:11211"

ここでは、PHPの例を使用して概要を説明しています。

于 2012-12-24T13:52:04.987 に答える