注意: この拡張モジュールは Windows 環境では利用できません。
このモジュールは、» PostgreSQL をストレージとして使用する session モジュール用にセッション保存ハンドラを提供するものです。 ユーザレベルの セッション保存関数 - session_set_save_handler() を使用することも可能ですが、 このモジュールは C で書かれており、PHP で書いた保存ハンドラより約 2 倍 高速です。
PgSQL セッション保存ハンドラは あらゆる規模の Web サイトを対象に 設計されており、いくつかの進んだ機能を持っています。
すくなくとも PHP >= 4.3.0 、およびデータベースサーバとして PostgreSQL >=7.2.0 が必要です。また、PostgreSQL 7.2.0 以降の libpq(とそのヘッダファイル) および » libmm(とそのヘッダファイル) が必要です。
簡単なインストール手順
./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 までメールをください。いかなる援助も歓迎します。