Re: Storing PHP 5.3 sessions into PostgreSQL 8.4

From: Adam Cornett <adam(dot)cornett(at)gmail(dot)com>
To: Alexander Farber <alexander(dot)farber(at)gmail(dot)com>
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Storing PHP 5.3 sessions into PostgreSQL 8.4
Date: 2011-09-22 15:32:44
Message-ID: CAB5sPxbeXy+VCUMSwk7hsBND2+8sUSKPBf_mLuNM8s-1ABzoZg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Wed, Sep 21, 2011 at 10:53 AM, Alexander Farber <
alexander(dot)farber(at)gmail(dot)com> wrote:

> Hello,
>
> I'm using CentOS 6.0 Linux 64 bit with the stock packages:
>
> # rpm -qa|grep php
> php-cli-5.3.2-6.el6_0.1.x86_64
> php-5.3.2-6.el6_0.1.x86_64
> php-xml-5.3.2-6.el6_0.1.x86_64
> php-pgsql-5.3.2-6.el6_0.1.x86_64
> php-pear-1.9.0-2.el6.noarch
> php-pdo-5.3.2-6.el6_0.1.x86_64
> php-common-5.3.2-6.el6_0.1.x86_64
>
> # rpm -qa|grep postgres
> postgresql-devel-8.4.7-1.el6_0.1.x86_64
> postgresql-docs-8.4.7-1.el6_0.1.x86_64
> postgresql-libs-8.4.7-1.el6_0.1.x86_64
> postgresql-8.4.7-1.el6_0.1.x86_64
> postgresql-server-8.4.7-1.el6_0.1.x86_64
>
> and would like to change my own PHP script from using
> $_SERVER['REMOTE_USER'] to using $_SESSION,
> but don't have any experience with PHP sessions yet.
>
> I'd like the (quite extensive) user data to be stored into
> the PostgreSQL and only save a "user id" in $_SESSION.
>
> However the web page
> http://www.php.net/manual/en/session-pgsql.installation.php
> says "This extension is considered unmaintained and dead".
>
> Does anybody please have any advice what to do here?
>
> Maybe I can save session data into the db myself (and how)?
>
> Thank you
> Alex
>
> --
> Sent via pgsql-general mailing list (pgsql-general(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>

I have attached some SQL and PHP that we use to store sessions in the
database, its based off
http://www.php.net/manual/en/function.session-set-save-handler.php
I also in our nightly maintenance script I delete sessions older than 24
hours as some times php doesn't GC sessions right under CGI.
delete from sessions where ts < (now() - '24 hours'::interval);

--
Adam Cornett

Attachment Content-Type Size
session.sql text/x-sql 1.6 KB
dbsession.inc.php application/x-httpd-php 2.2 KB

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2011-09-22 16:22:02 Re: OS X 10.7, psql, and tab completion?
Previous Message Rob Sargent 2011-09-22 15:15:43 Re: Materialized views in Oracle