CXLVIII. Sauvegarde d'Identifiant de session PostgreSQL

Introduction

Note: Cette extension n'est pas disponible sur les plates-formes Windows.

Ce module vous fournit un moyen additionnel pour sauvegarder vos identifiants de session pour les modules de session utilisant » PostgreSQL session en tant que sauvegarde du système. La sauvegarde d'identifiant de session user-level peut être aussi utilisée, mais ce module est écrit en C. Par conséquent, ce module est largement 2 fois plus rapide que la sauvegarde d'identifiant écrit en PHP.

Session PgSQL est conçu pour fonctionner avec n'importe quel sorte de sites web et offre certaines fonctionnalités avancées :
tables de session sont créées automatiquement
vidage de table de session automatique
meilleure récupération de place
support de multiples serveurs PostgreSQL
basculement de serveur de base de données automatique (changement)
chargement balancé de serveur de base de données automatique s'il y a multiples serveurs PostgreSQL.
court-circuit de UPDATE

Pré-requis

Vous devez posséder au moins PHP >= 4.3.0, PostgreSQL >= 7.2.0 comme serveur de base de données. libpq qui vient avec PostgreSQL 7.2.0 ou supérieur (et les fichiers d'en-tête pour construction) et » libmm (et les fichiers d'en-tête).

Installation

Courte note d'installation :

  • Décompressez l'archive tar.gz dans php4/ext (Les dernières mises à jour officielles peuvent être trouvées sur SourceForge » PHP Form Extension Project)
  • Si le nouveau répertoire est maintenant appelé quelque chose comme session_pgsql. Vous devriez l'appeler session_pgsql (sauf si vous voulez voulez le bâtir en tant que module php seul).
  • Exécutez ./buildconf dans php4
  • Exécutez configure --with-session-pgsql (et vos autres options)
  • make; make install

Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

La sauvegarde d'identifiant de session de PostgreSQL est toujours en développement. Réferrez-vous au fichier README dans la distribution de source pour les détails de la configuration.

Définitions de Table

Définition de table de session


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);

     

AVERTISSEMENT

Si vous utilisez HASH pour INDEX, vous aurez des problèmes d'interblocage lorsque le chargement du serveur est très élevé. Même s'il est peu probable d'avoir un interblocage sous des opérations normales, cela peut se produire. N'utilisez pas HASH pour INDEX.

Vous pouvez changer la table de session tant que tous les champs sont définis.

Définition de table de variables d'application


CREATE TABLE php_app_vars (
  app_modified       integer,
  app_name           text,
  app_vars           text
);

     

Information Contact

Pour le moment, je n'ai pas vraiment le temps pour développer plus loin cette extension. Je créerai de plus en plus d'options dans un futur proche.

Si vous avez des commentaires, des bogues, des améliorations ou vous voulez aider le développement, vous pouvez me laisser un mail à » yohgaki@php.net. Toute aide est la bienvenue.

Table des matières

session_pgsql_add_error — Incrémente le nombre d'erreurs et fixe le dernier message d'erreur
session_pgsql_get_error — Retourne le nombre d'erreurs et le dernier message d'erreur
session_pgsql_get_field — Récupère la valeur de champ spécial
session_pgsql_reset — Remet la connexion à la session des serveurs de base de données
session_pgsql_set_field — Fixe la valeur d'un champ spécial
session_pgsql_status — Récupère le statut de l'identifiant de sauvegarde courant