PostgreSQL セッション保存ハンドラ
導入
注意: この拡張モジュールは Windows 環境では利用できません。このモジュールは、» PostgreSQL をストレージとして使用する session モジュール用にセッション保存ハンドラを提供するものです。 ユーザレベルの セッション保存関数 - session_set_save_handler() を使用することも可能ですが、 このモジュールは C で書かれており、PHP で書いた保存ハンドラより約 2 倍 高速です。
PgSQL セッション保存ハンドラは あらゆる規模の Web サイトを対象に 設計されており、いくつかの進んだ機能を持っています。
セッションテーブルを自動的に作成します。 |
セッションテーブルの vacuum を自動的に行います。 |
効率的なガベージコレクションを行います。 |
複数の PostgreSQL サーバをサポートします。 |
データベースサーバの自動フェイルオーバー(スイッチング)を行います。 |
複数の PostgreSQL サーバを稼動させている場合、自動的に ロードバランシングが行われます。 |
UPDATE のショートカット機能を有します。 |
要件
すくなくとも PHP >= 4.3.0 、およびデータベースサーバとして PostgreSQL >=7.2.0 が必要です。また、PostgreSQL 7.2.0 以降の libpq(とそのヘッダファイル) および » libmm(とそのヘッダファイル) が必要です。インストール手順
簡単なインストール手順- tar.gz アーカイブを php4/ext に展開します (最新の正式リリースは、SourceForge の » PHP Form Extension Project にあります)。
- 新しいディレクトリを session_pgsql のように呼ぶと すると、それを session_pgsql という名前にする 必要があります(PHP モジュールとして構築する場合を除きます)。
- PHP 4 では
./buildconf
を実行します。 -
configure
--with-session-pgsql (およびその他のオプション)を実行します。 make; make install
実行時設定
php.ini の設定により動作が変化します。PostgreSQL セッション保存ハンドラは、まだ開発中です。設定の詳細に ついては、配布物に含まれる README ファイルを参照して下さい。
テーブル定義
セッションテーブルの定義CREATE TABLE php_session ( sess_id text, sess_name text, sess_data text, sess_created integer, sess_modified integer, sess_expire integer, sess_addr_created text, sess_addr_modified text, sess_counter integer, sess_error integer, sess_warning integer, sess_notice integer, sess_err_message text, sess_custom text ); CREATE INDEX php_session_idx ON php_session USING BTREE (sess_id);
警告 |
HASH 形式の INDEX を使用する際は、
サーバの負荷が非常に高くなった際にデッドロックの
問題が発生することがあります。通常の操作ではデッドロックが起こることは
まずありませんが、起こることもありえます。インデックスには
HASH 形式を使用しないでください。
|
すべてのフィールドが定義されている限り、セッションテーブルを 変更することも可能です。
アプリケーション変数テーブルの定義
CREATE TABLE php_app_vars ( app_modified integer, app_name text, app_vars text );
連絡先
現時点で、この拡張モジュールの開発者は、開発を継続する時間の余裕 はありません。将来的により多くの機能を実装する予定です。コメント、バグ修整、拡張、またはこのモジュールの開発を援助したい 場合には » yohgaki@php.net までメールをください。いかなる援助も歓迎します。
目次
- session_pgsql_add_error — エラーカウントを加算し、直近のエラーメッセージを設定する
- session_pgsql_get_error — エラーの数および直近のエラーメッセージを返す
- session_pgsql_get_field — カスタムフィールドの値を取得する
- session_pgsql_reset — セッションデータベースサーバとの接続をリセットする
- session_pgsql_set_field — カスタムフィールドの値を設定する
- session_pgsql_status — 現在の保存ハンドラの状態を得る
固有名詞の分類
PHP |
getenv strrev PostgreSQL セッション保存ハンドラ gzdeflate Advanced PHP Debugger |
Weblioに収録されているすべての辞書からPostgreSQL セッション保存ハンドラを検索する場合は、下記のリンクをクリックしてください。

- PostgreSQL セッション保存ハンドラのページへのリンク