Manuál PHP | ||
---|---|---|
PÅ™edcházejÃcà | DalÅ¡Ã |
CXLVII. PostgreSQL Session Save Handler
Úvod
Poznámka: Toto rozÅ¡ÃÅ™enà nenà k dispozici na platformách 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:
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 |
Požadavky
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).
Instalace
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
Konfigurace běhu
Chovánà tÄ›chto funkcà je ovlivnÄ›no nastavenÃm parametrů v php.ini.
PostgreSQL session save handler is still under development. Refer to the README file in the source distribution for configuration details.
Table definitions
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); |
Varovánà |
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 ); |
Contact Information
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.
- Obsah
- session_pgsql_add_error -- Increments error counts and sets last error message
- session_pgsql_get_error -- Returns number of errors and last error message
- session_pgsql_get_field -- Get custom field value
- session_pgsql_reset -- Reset connection to session database servers
- session_pgsql_set_field -- Set custom field value
- session_pgsql_status -- Get current save handler status
PÅ™edcházejÃcà | Domů | DalÅ¡Ã |
sesam_settransaction | Nahoru |