Note: 本扩展模块在 Windows 平台下不可用。
This module provides an additional session save handler for the session module using » PostgreSQL as a storage system. A user-level session storage function may also be used - session_set_save_handler(), but this module is written in C and therefore could be twice as fast, compared to a session save handler written in PHP.
Session PgSQL is designed to scale any size of web sites and offers some advanced features:
You need at least PHP >= 4.3.0, and PostgreSQL >=7.2.0 as database server. libpq that comes with PostgreSQL 7.2.0 or later (and header files to build) and » libmm (and header files).
Short installation note:
./buildconf
in php4
configure
--with-session-pgsql (and your other
options)
make; make install
这些函数的行为受 php.ini 的影响。
PostgreSQL session save handler is still under development. Refer to the README file in the source distribution for configuration details.
Session table definition
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);
If you use HASH for INDEX, you'll have a deadlock problem when the server load is very high. Even if it's unlikely to have a deadlock under normal operation, it can occur. Do not use HASH for INDEX.
You may change the session table as long as all fields are defined.
Application variables table definition
CREATE TABLE php_app_vars ( app_modified integer, app_name text, app_vars text );
I have at the moment not very much time to further develop this extension. I will implement more and more features in the near future.
If you have comments, bug fixes, enhancements or want to help developing this, you can drop me a mail at » yohgaki@php.net. Any help is very welcome.