mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-19 10:28:54 +00:00

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@206558 c90b9560-bf6c-de11-be94-00142212c4b1
144 lines
4.3 KiB
XML
144 lines
4.3 KiB
XML
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!-- $Revision: 1.3 $ -->
|
|
<!-- Purpose: basic.session -->
|
|
<!-- Membership: pecl, external -->
|
|
<!-- Author: Yasuo Ohgaki <yohgaki@php.net> -->
|
|
<reference id="ref.session-pgsql">
|
|
<title>PostgreSQL Session Save Handler</title>
|
|
<titleabbrev>Session PgSQL</titleabbrev>
|
|
|
|
<partintro>
|
|
<section id="session-pgsql.intro">
|
|
&reftitle.intro;
|
|
¬e.no-windows.extension;
|
|
<para>
|
|
This module provides an additional session save handler for the
|
|
<link linkend="ref.session">session</link>
|
|
module using <ulink url="&url.pgsql;">PostgreSQL</ulink> as a
|
|
storage system. A <literal>user-level</literal> session storage function may
|
|
also be used - <function>session_set_save_handler</function>, but this module is
|
|
written in C and therefore could be twice as fast, compared to
|
|
a session save handler written in PHP.
|
|
</para>
|
|
<para>
|
|
Session PgSQL is designed to scale any size of web sites and offers some
|
|
advanced features:
|
|
<simplelist>
|
|
<member>session tables are created automatically</member>
|
|
<member>automatic session table vacuum</member>
|
|
<member>better garbage collection</member>
|
|
<member>multiple PostgreSQL servers support</member>
|
|
<member>automatic database server failover (switching)</member>
|
|
<member>
|
|
automatic database server load balancing if there are multiple
|
|
PostgreSQL servers.
|
|
</member>
|
|
<member>short circuit UPDATE</member>
|
|
</simplelist>
|
|
</para>
|
|
</section>
|
|
|
|
<section id="session-pgsql.requirements">
|
|
&reftitle.required;
|
|
<para>
|
|
You need at least PHP >= 4.3.0, and PostgreSQL >=7.2.0 as database
|
|
server. <literal>libpq</literal> that comes with PostgreSQL 7.2.0 or
|
|
later (and header files to build) and <ulink url="&url.mm;">libmm</ulink>
|
|
(and header files).
|
|
</para>
|
|
</section>
|
|
|
|
&reference.session-pgsql.configure;
|
|
|
|
&reference.session-pgsql.ini;
|
|
|
|
<section id="session-pgsql.tables">
|
|
<title>Table definitions</title>
|
|
<para>Session table definition
|
|
<programlisting role="sql">
|
|
<![CDATA[
|
|
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);
|
|
]]>
|
|
</programlisting>
|
|
</para>
|
|
<warning>
|
|
<para>
|
|
If you use <literal>HASH</literal> for <literal>INDEX</literal>, you'll
|
|
have a deadlock problem when the server load is
|
|
<emphasis>very</emphasis> high. Even if it's unlikely to have a deadlock
|
|
under normal operation, it can occur. <emphasis>Do not use
|
|
<literal>HASH</literal> for <literal>INDEX</literal></emphasis>.
|
|
</para>
|
|
</warning>
|
|
<para>
|
|
You may change the session table as long as all fields are defined.
|
|
</para>
|
|
<para>
|
|
Application variables table definition
|
|
<programlisting role="sql">
|
|
<![CDATA[
|
|
CREATE TABLE php_app_vars (
|
|
app_modified integer,
|
|
app_name text,
|
|
app_vars text
|
|
);
|
|
]]>
|
|
</programlisting>
|
|
</para>
|
|
</section>
|
|
|
|
|
|
<section id="session-pgsql.contact">
|
|
<title>Contact Information</title>
|
|
<para>
|
|
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.
|
|
</para>
|
|
<para>
|
|
If you have comments, bug fixes, enhancements or want to help developing
|
|
this, you can drop me a mail at
|
|
<ulink url="mailto:yohgaki@php.net">yohgaki@php.net</ulink>. Any help is
|
|
very welcome.
|
|
</para>
|
|
</section>
|
|
</partintro>
|
|
|
|
&reference.session-pgsql.functions;
|
|
|
|
</reference>
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"../../../manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|