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
à 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 :
-# adresse du serveur sql
-# numéro de port pour la connexion si nécessaire
-# nom d’utilisateur
-# mot de passe
-# nom de la base de données
-# type de serveur (mysql, pg, sqlite2, sqlite3...)
-# préfixe des tables
-# connexion des utilisateurs par ldap ?
-# charset