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 par SPIP.

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

  • utiliser l’interface graphique prévue à cet effet (menu Maintenance > Maintenance technique > Déclarer une autre 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 à la base de données mysql tarabiscote , son contenu sera :

<?php
if (!defined("_ECRIRE_INC_VERSION")) return;
$GLOBALS['mysql_rappel_nom_base'] = false; /* echec de test_rappel_nom_base_mysql a l'installation. */
defined('_MYSQL_SET_SQL_MODE') || define('_MYSQL_SET_SQL_MODE',true);
$GLOBALS['spip_connect_version'] = 0.8;
spip_connect_db('serveur_mysql','port mysql','l utilisateur','le mot de passe','la base tarabiscote','mysql', 'prefixe de table','');
?>

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 ?
  9. charset

Auteur Matthieu Marcillaud Publié le : Mis à jour : 12/03/23

Traductions : English, français, Nederlands