PHP Australia Conference 2015

cubrid_pconnect_with_url

(PECL CUBRID >= 8.3.1)

cubrid_pconnect_with_urlOuvre une connexion persistante vers un serveur CUBRID

Description

resource cubrid_pconnect_with_url ( string $conn_url [, string $userid [, string $passwd ]] )

Établit une connexion persistante vers un serveur CUBRID.

cubrid_pconnect_with_url() agit de la même façon que la fonction cubrid_connect_with_url(), avec deux différences majeures.

Tout d'abord, lors de la connexion, la fonction tentera tout d'abord de trouver un lien (persistant) déjà ouvert avec le même hôte, sur le même port, sur la même base de données dbname et utilisant le même userid. Si une telle connexion est trouvée, son identifiant sera retourné au lieu d'ouvrir une nouvelle connexion.

Ensuite, la connexion vers le serveur MySQL ne sera pas fermée lorsque la fin du script sera atteint. Au lieu de cela, la connexion restera ouverte pour une utilisation future ( la fonction cubrid_close() ou la fonction cubrid_disconnect() ne fermera pas la connexion établie par la fonction cubrid_pconnect_with_url()).

Ce type de lien était appelé, auparavant, 'persistant'.

<url> ::= CUBRID:<host>:<db_name>:<db_user>:<db_password>:[?<properties>]

<properties> ::= <property> [&<property>]

<properties> ::= alhosts=<alternative_hosts>[ &rctime=<time>]

<properties> ::= login_timeout=<milli_sec>

<properties> ::= query_timeout=<milli_sec>

<properties> ::= disconnect_on_query_timeout=true|false

<alternative_hosts> ::= <standby_broker1_host>:<port> [,<standby_broker2_host>:<port>]

<host> := HOSTNAME | IP_ADDR

<time> := SECOND

<milli_sec> := MILLI SECOND

  • host : Un nom d'hôte ou une adresse IP du serveur maître de base de données
  • db_name : Un nom de base de données
  • db_user : Un nom d'utilisateur de la base de données
  • db_password : Un mot de passe pour l'utilisateur de la base de données
  • autocommit : Le mode auto-commit de la connexion à la base de données
  • alhosts : Spécifie l'information du broker du serveur, qui sera utilisé comme point de sortie lorsqu'il est impossible de se connecter au serveur actif. Vous pouvez spécifier plusieurs brokers dans ce cas, et la connexion aux brokers sera tentée dans l'ordre de la configuration alhosts
  • rctime : Un intervalle de temps à attendre avant de tenter une connexion vers un broker lorsqu'une erreur survient. Après qu'une erreur soit survenue, le système tentera une connexion vers un broker spécifié par althosts, termine la transaction, et ensuite, tente de se connecter au broker actif du serveur maître de base de données. La valeur par défaut est de 600 secondes.
  • login_timeout : Valeur du délai maximal d'attente (unité : mseconde) pour l'identification à la base de données. Par défaut, cette valeur vaut 0, ce qui signifie que l'on attend indéfiniment.
  • query_timeout : Valeur du délai maximal d'attente (unité : mseconde) pour l'exécution de la requête. Une fois cette valeur atteinte, un message pour annuler la requête envoyée au serveur est envoyé. La valeur retournée peut dépendre de la configuration de disconnect_on_query_timeout configuration ; même si le message pour annuler la requête a été envoyée au serveur, la requête peut réussir.
  • disconnect_on_query_timeout : Configure une valeur déterminant si l'on doit retourner immédiatement une erreur pour les fonctions exécutées après le délai maximal d'attente. La valeur par défaut est FALSE.

Note:

Les caractères ? et : utilisés comme identifiants dans les URLs de connexion PHP ne peuvent être inclus dans le mot de passe. Voici un exemple de mot de passe invalide, car utilisant les caractères "?:" dans l'URL de connexion.

$url = "CUBRID:localhost:33000:tdb:dba:12?:?login_timeout=100";

Les mots de passe contenant le caractère ? ou le caractère : peuvent être passés en tant que paramètre séparé.

$url = "CUBRID:localhost:33000:tbd:::?login_timeout=100";

$conn = cubrid_pconnect_with_url ($url, "dba", "12?");

Si le nom d'utilisateur ou le mot de passe est vide, vous ne devez pas supprimer les ":" ; voici un exemple :

$url = "CUBRID:localhost:33000:demodb:::";

Liste de paramètres

conn_url

Une chaîne de caractères qui contient les informations de connexion pour le serveur.

userid

Nom d'utilisateur pour la base de données.

passwd

Mot de passe pour l'utilisateur.

Valeurs de retour

Identifiant de connexion, lorsque le processus réussit.

FALSE, lorsqu'une erreur survient.

Exemples

Exemple #1 Exemple avec cubrid_pconnect_with_url() sans propriétés

<?php
$conn_url 
"CUBRID:127.0.0.1:33000:demodb:dba::?althost=10.34.63.132:33088&rctime=100"
$con cubrid_pconnect_with_url ($conn_url);

if (
$con) {
   echo 
"Connexion réussie";
   
cubrid_execute($con"create table person(id int,name char(16))");
   
$req =cubrid_execute($con"insert into person values(1,'James')");

   if (
$req) {
      
cubrid_close_request ($req);
      
cubrid_commit ($con);
   } else {
      
cubrid_rollback ($con);
   }
   
cubrid_disconnect ($con);
}
?>

Exemple #2 cubrid_pconnect_with_url() url with properties example

<?php
$conn_url 
"CUBRID:127.0.0.1:33000:demodb:dba::?autocommit=off&althost=10.34.63.132:33088&rctime=100"
$con cubrid_pconnect_with_url ($conn_url);

if (
$con) {
   echo 
"Connexion réussie";
   
$req =cubrid_execute($con"insert into person values(1,'James')");

   if (
$req) {
      
cubrid_close_request ($req);
      
cubrid_commit ($con);
   } else {
      
cubrid_rollback ($con);
   }
   
cubrid_disconnect ($con);
}
?>

Voir aussi

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top