Déclarer une autre base

Pour accéder à une autre base de données, il faut que SPIP dispose des codes d’accès à la base en question. Actuellement, les bases secondaires déclarées sont correctement gérées en lecture. L’écriture par contre dans ces bases externes n’est pas encore correctement prise en compte en SPIP 2.1.

Pour déclarer une autre base de données, deux solutions :

  • utiliser l’interface graphique prévue pour (Configuration > maintenance du site > Déclarer une base)
  • écrire selon la syntaxe prévue un fichier de connexion dans le répertoire config/ (ou le répertoire défini par la constante _DIR_CONNECT).

Fichier de connexion config/xx.php

Pour un fichier de connexion tarabiscote.php, son contenu sera :

<?php
if (!defined("_ECRIRE_INC_VERSION")) return;
define('_MYSQL_SET_SQL_MODE',true);
$GLOBALS['spip_connect_version'] = 0.7;
spip_connect_db('localhost','','lutilisateur','le passe world','tarabiscote','mysql', 'spip','');
?>

On appelle donc une fonction spip_connect_db() avec pour arguments, dans l’ordre :

  1. adresse du serveur sql
  2. numéro de port pour la connexion si nécessaire
  3. nom d’utilisateur
  4. mot de passe
  5. nom de la base de données
  6. type de serveur (mysql, pg, sqlite2, sqlite3...)
  7. préfixe des tables
  8. connexion des utilisateurs par ldap ?

Auteur Matthieu Marcillaud Publié le : Mis à jour : 02/06/10

Traductions : English, français