Замечание: Для Windows-платформ это расширение недоступно.
This module provides an additional session save handler for the session module using PostgreSQLPostgreSQL as a storage system. A user session save handler may be used ((session_set_save_handler(), but this module is written in C. Therefore, this module 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:
session tables are created automatically |
automatic session table vacuum |
better garbage collection |
multiple PostgreSQL servers support |
automatic database server failover (switching) |
automatic database server load balancing if there are multiple PostgreSQL servers. |
short circuit UPDATE |
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:
Untar the tar.gz archive into php4/ext (Latest official releases can be found at SourceForge PHP Form Extension Project)
If the new directory is now called something like session_pgsql. You should name it to session_pgsql (except you only want to build it as self-contained php-module).
Run ./buildconf in php4
Run 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.
Пред. | Начало | След. |
sesam_settransaction | Уровень выше | session_pgsql_add_error |